需要掌握:glob介绍
概述
glob是python自带的一个路径匹配模块
用它可以查找符合特定规则的文件路径名。
python3.4开始支持
查找文件只用到三个匹配符:
*匹配0个或多个字符;?匹配单个字符;[]匹配指定范围内的字符,如:[0-9]匹配数字。{}目前不支持
需要导入模块
import glob
该模块有两个方法:
glob.glob()
和
glob.iglob()
glob.glob()
参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径,可以有匹配符
返回所有匹配的文件路径,list类型。
如果路径过多,占用内存较大
获取指定目录下所有.jpg图片
import glob
l=glob.glob(r"E:/Picture/*.jpg")
获取E:/Picture/下所有的.jpg文件
获取指定目录下的所有文件夹的.jpg图片
import glob
l=glob.glob(r"E:/Picture/*/*.jpg")
获取E:/Picture/下所有文件夹的.jpg文件
递归获取目录及所有子目录的.txt文件
l=glob.glob('C:/file/**/*.txt', recursive=True)
递归 获取C:/file/文件夹,及所有文件夹的.txt文件
glob.iglob()
获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。
与glob.glob()的区别是:
- glob.glob():返回list类型,是所有的匹配路径,如果匹配路径过多,占用内存较大
- glob.iglob():返回生成器对象,如果匹配路径过多,这种方式比较节省内存
import glob
l=glob.iglob(r"C:\Users\mym\Desktop\*")
print(type(l))
print(l)
for i in l:
print(i)
执行结果:
<class 'generator'>
<generator object _iglob at 0x000000078AF070A0>
C:\Users\mym\Desktop\1.1.4.406.publish_release.exe
C:\Users\mym\Desktop\3C9E5232425E8882BF1CF2B2B042140C.jpg
C:\Users\mym\Desktop\480x850.txt
感谢:
https://blog.csdn.net/sunhuaqiang1/article/details/70244497