glob 模块的功能,就是允许接受一个 Unix 式的文件名格式表达式,即可以使用 *
或 ?
等通配符。该模块会查找出所有符合指定模式的文件(与正则表达式类似)。下表列出了该模块支持的匹配规则:
规则 | 含义 |
---|---|
* | 匹配所有 |
? | 匹配任何单个字符 |
[seq] | 匹配任何包含在 seq 中的字符 |
[!seq] | 匹配任何不在 seq 中的字符 |
glob.glob(pathname) 返回所有匹配的路径(包括无效的符号链接)的字符串列表,无匹配时为空。
glob.iglob(pathname) 返回一个迭代器。与 glob.glob() 的区别在于:后者是一次性获取所有匹配的路径,然后保存在一个列表里。而前者一次只获取一个匹配路径,然后通过迭代器就可以得到所有的匹配路径。
示例1:
1 2 3 4 5 6 7 | >>> import glob >>> glob.glob('./[0-9].*') ['./1.gif', './2.txt'] >>> glob.glob('*.gif') ['1.gif', 'card.gif'] >>> glob.glob('?.gif') ['1.gif'] |
示例2:
1 2 3 4 5 6 7 8 9 | import glob #获取指定目录下的所有图片 print glob.glob(r"E:\Picture\*\*.jpg") #获取父目录中的.py文件 f = glob.iglob(r'../*.py') for py in f: print py |
本作品由 Yysfire 创作,采用进行许可。转载时请在显著位置标明本文永久链接:
http://yysfire.github.io/python/python2-standard-library-glob.html