Python:glob
学习自:
(1)Python标准库glob模块_lianghe77的博客-CSDN博客_glob库
(2)Python:glob与os.listdir_鳄鱼的博客-CSDN博客
(3)python文件操作glob_os_等对比 - 胖白白 - 博客园
(4)python标准库之glob介绍 - luminousjj - 博客园
(5)(7条消息) 使用Python批量处理文件-CSDN博客
1、简介
glob模块的主要方法是glob(),该方法返回一个List,其中元素为所有匹配的文件路径;该方法需要一个参数用来指定匹配的路径字符串(相对路径/绝对路径均可),需要注意的是,返回的文件名List只包括当前目录下的文件名,不包括子文件夹中的文件。
用法:glob( path + '*.某格式' )
说明:得到path下某格式的全部文件名的List(包含路径),例如 *.png 是获取所有png图片。
这个用法很容易让人想到os.listdir( path ),得到的是path下的全部文件名的List(不包含路径)
区别在于:①是否包含路径;②glob可以指定格式,listdir则是全部文件
2、通配符
上文中的*只是一种通配符,还有其他几种通配符
通配符 | 功能 |
* | 匹配0~n个字符 |
** | 匹配所有文件、目录、子目录、子目录中的文件 |
? | 匹配单个字符 |
[] | 匹配指定范围内的字符,如:[0-9]匹配数字 |
[!] | 匹配不在指定范围内的字符,如:[!0-9]非数字 |
3、用法
3.1、访问一个文件夹下的所有文件
参数写法:path\*
具体写法:
glob.glob('path\*')
3.2、列出子目录中的文件
参数写法:path\*\*(有几层子目录就写几个\*)
具体写法:
glob.glob('path\*\*')
4、iglob
用法与glob完全相同,区别在于返回迭代器类型,实际迭代过程中效率更高