关于glob.glob遍历文件

2023-11-13

我们经常会看到别人用glob,但是用glob时格式写的不规范往往会给人造成困扰,我们经常会有这个疑问——这到底是在遍历哪一层路径呢??

下面我们就几种常见的glob用法给出总结:

    import glob
    1、fdirs = glob.glob('C:/Users/admin/Desktop/glob/*') # 列出glob文件夹下所有的文件和文件夹
    2、fdirs = glob.glob('C:/Users/admin/Desktop/glob/*.jpg') # 列出glob文件夹下所有的jpg文件
    3、fdirs = glob.glob('C:/Users/admin/Desktop/glob/**/*jpg') # 列出glob的子文件夹里面的所有jpg图片(不包含glob下的jpg文件)
    4、fdirs = glob.glob('C:/Users/admin/Desktop/glob/**/*jpg',recursive=True) # 列出glob文件夹下及各层子文件夹的所有jpg文件

其中最后一种glob的用法是跟下面的oswalk_files()同理的,即遍历路径下所有的文件,包括该路径下的文件、子目录下的文件、孙目录下的文件......

def oswalk_files(srcwd):
    # 遍历srcwd下的所有文件
    filedirs=[]
    for root, dirs, imgs in os.walk(srcwd):
        for file in imgs:
            imgdir=osp.join(root,file)
            filedirs.append(imgdir)
    return filedirs

 其实我还是习惯于用oswalk_files(),因为简介明了,我想要什么文件再加一个类似这个语句就行:

imgs = [img for img in imgs if img.endswith('.jpg')]

PS:上面的glob常常也会结合os.path.join来使用,这个就是路径拼接,没啥好说的

2022-6-15 15:43:07

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于glob.glob遍历文件 的相关文章

  • 将tensorflow 2.0 BatchDataset转换为numpy数组

    我有这个代码 train images test images tf keras datasets mnist load data train dataset tf data Dataset from tensor slices train
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 在 Numpy 中切片后确定结果数组的形状

    我很难理解在 numpy 中切片后如何确定结果数组的形状 例如 我使用以下简单代码 import numpy as np array np arange 27 reshape 3 3 3 slice1 array 1 2 1 slice2
  • 即使使用 .loc[row_indexer,col_indexer] = value 时也会设置 WithCopyWarning

    这是我的代码中得到的行之一SettingWithCopyWarning value1 Total Population value1 Total Population replace to replace value 4 然后我将其更改为
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • Pandas重置索引未生效[重复]

    这个问题在这里已经有答案了 我不确定我在哪里误入歧途 但我似乎无法重置数据帧上的索引 当我跑步时test head 我得到以下输出 正如您所看到的 数据帧是一个切片 因此索引超出范围 我想做的是重置该数据帧的索引 所以我跑test rese
  • 为什么 Python 中的“pip install”会引发语法错误?

    我正在尝试使用 pip 安装软件包 我试着跑pip install从Python shell 但我得到了SyntaxError 为什么我会收到此错误 如何使用 pip 安装软件包 gt gt gt pip install selenium
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • 在可编辑的QSqlQueryModel中实现setEditStrategy

    这是后续这个问题 https stackoverflow com questions 49752388 editable qtableview of complex sql query 在那里 我们创建了 QSqlQueryModel 的可
  • 将输入发送到 python 子进程而不等待结果

    我正在尝试为一段代码编写一些基本测试 该代码通常通过 stdin 无休止地接受输入 直到给出特定的退出命令 我想检查程序是否在给出一些输入字符串时崩溃 经过一段时间来考虑处理 但似乎无法弄清楚如何发送数据而不是陷入等待我不知道的输出关心 我
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案

随机推荐

  • python如何输出一个数组_使用Python实现分别输出每个数组

    使用Python实现分别输出每个数组 我就废话不多说了 直接上代码吧 a 1 2 3 4 5 6 7 a b c i 0 while i print a i i 1 a 1 2 3 4 5 6 7 a b c for i in range
  • 特征值处理-机器学习

    综述 如上图所示是一个经典的机器学习问题框架图 数据清洗和特征挖掘的工作是在灰色框中框出的部分 即 数据清洗 gt 特征 标注数据生成 gt 模型学习 gt 模型应用 中的前两个步骤 灰色框中蓝色箭头对应的是离线处理部分 主要工作是 从原始
  • C/C++调用前缀

    今天写线程函数时 发现msdn中对ThreadProc的定义有要求 DWORD WINAPI ThreadProc LPVOID lpParameter 不解为什么要用WINAPI宏定义 查了后发现下面的定义 于是乎需要区别 stdcall
  • 在Google地图中显示行政区边界

    不知道从什么时候开始 在Google地图或是百度地图中用城市或者省名称搜索的时候 你会发现地图上会勾勒出搜索的行政区的轮廓来 这个功能非常人性化 比如在百度地图中搜索 广西 地图显示如下图所示 在Google地图中搜索 桂林 会定位到桂林市
  • LaTex如何设置表格列宽以及居中格式

    用LaTex写论文时 被一个表格困扰好久 不过终于找到解决方法 代码放在这里方便以后查询 begin table h caption 符号说明 centering begin tabular p 3cm lt centering p 7cm
  • 做事变通

    author skatetime 2010 05 21 做事变通 昨天同事找我 说bi系统的有一个递归树形查询的sql非常慢 已经让使用人员无法忍受 sql如下 SELECT SYS CONNECT BY PATH BB FULL NAME
  • ARM体系结构与接口技术:UART总线概念、串口总线的硬件连接及通信协议

    一 总线相关的概念 1 1 串口总线相关的概念 总线 连接多个部件的信息传输线 是各部件共享的传输介质 UART 通用的异步接收器和发送器 串口主要是被用来实现两个设备之间通信的 1 2 串行总线和并行总线 串行通信 指的是同一时刻只能收或
  • 【事件驱动】【数码管识别】(C++多线程实现多幅图像的同步识别)

    一 问题的背景 二 问题的解决方法和思路 三 程序实现 四 遇到的问题 五 后续的工作
  • 刷脸支付方式的改变可谓是变化巨大

    支付方式变迁带来生活方式改变 足不出户就能缴水电费 出门打车 掏出手机扫一扫出租车上的二维码 轻松支付车费 下馆子吃饭 手机上的二维码被收银员扫码枪扫了后金融市场 因为现在的中国人出门不用携带现金 掏出手机扫一扫二维码就能就能完成一笔交易
  • Spring Cloud Config+Bus:实现动态刷新配置文件

    如果需要实现修改远端仓库里的配置文件的信息 对应的配置信息的客户端也能动态的刷新配置信息 而不要重新启动程序 那么需要引入消息中间件 我这里使用的是RabbitMQ 还有微服务和RabbitMQ进行通信的Spring Cloud Bus C
  • 【H5】 两种屏幕宽度大小自适应方式

    H5 两种屏幕宽度大小自适应方式 第一种 由于rem是获取html根属性的字体大小 改变html的字体大小 通过rem设置所以样式的宽高 rem为html的字体大小 通过改变html的字体大小达到适配的效果 remChange 监听屏幕改变
  • 【VQ-VAE代码实战】Neural Discrete Representation Learning

    VQ VAE代码实战 Neural Discrete Representation Learning 0 前言 1 简介 2 Basic Idea Loss 3 代码 Load Data Vector Quantizer Layer Enc
  • 通过js把具有相同属性的对象的值进行合并,并生成新的数组对象的方法。

    通过js把具有相同属性的对象的值进行合并 并生成新的数组对象的方法 在日常开发的时候 我们有时候会遇到这样的需求 要求把具有相同属性名的对象进行合并 如下例子所示
  • 开发人员与测试人员关系的理解

    在软件开发中都会有开发人员 以下简称开发 和测试人员 以下简称测试 在一些小型公司可能并没有测试 仅仅是开发兼任测试 在这里我仅针对于有专业的测试和专业的开发的项目 每个公司应该都有考核机制 对于开发和测试的考核实际上很难量化 通常来讲大的
  • 20230829

    把list的相关函数都实现出来 include
  • ts中异步等待目标生成的办法

    async promise setimeout配合就行 其它有sleep的语言更简单 异步等待对象的生成 对象生成完成返回生成的对象 param getter 对象的获取函数 param checkSize 检查粒度 ms param ti
  • Python+OpenCV利用KNN背景分割器进行静态场景行人检测与轨迹跟踪

    前言 视频图像中的目标检测与跟踪 是计算机视觉的基础课题 同时具有广泛的应用价值 视觉目标 单目标 跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下 预测后续帧中该目标的大小与位置 本篇文章介绍静态场景的目标检测与跟踪 主要思路
  • 三自由度焊接机器人设计(毕业设计说明书(论文)+12份CAD图纸、装配图、零件图)

    中文摘要 随着工业水平的发展 重要的大型焊接结构件的应用越来越多 其中大量的焊接工作必须在现场作业 如集装箱波纹板焊接机器人 大型舰船舱体 甲板的焊接 大型球罐 储罐 的焊接等 而这些焊接场合下 焊接机器人要适应焊缝的变化 才能做到提高焊接
  • 以SQLyog 为例连接数据库时出现1045错误时我的解决途径

    前言 这种解决方式除了能对遇到相同问题的readers提供帮助之外 当你今后在学习工作中使用其他软件再遇到类似问题时 希望也能想到这种思路并解决问题 第一步 启动SQLyog点击连接时出现如下错误 图1 第二步 检查我的mysql安装目录的
  • 关于glob.glob遍历文件

    我们经常会看到别人用glob 但是用glob时格式写的不规范往往会给人造成困扰 我们经常会有这个疑问 这到底是在遍历哪一层路径呢 下面我们就几种常见的glob用法给出总结 import glob 1 fdirs glob glob C Us