Python glob()函数,是种文件通配符,非常常用。glob模块提供了函数用于从目录通配符搜索中生成文件列表:
Python glob()函数用法
glob()函数可以查找符合自己要求的文件,
支持通配符操作*,**,?,[]这四个通配符,
*代表0个或多个字符,
>>> import glob
>>> glob.glob('*.py')
['hello.py', 'hello1.py', 'hello2.py']
**匹配所有文件、目录、子目录和子目录里的文件
?代表一个字符,
>>> import glob
>>> glob.glob('hello?.py')
['hello1.py', 'hello2.py']
[]匹配指定范围内的字符,如[0-9]匹配数字。
>>> import glob
>>> glob.glob('hello[0-9].py')
['hello1.py', 'hello2.py']
glob模块用法
glob()函数是python的glob模块中的方法,
glob模块中的函数,有三个:
glob.glob(pathname,*,recursive=False)
glob中,*星号表示匹配0到多个字符,?问号表示匹配一个字符,[ ]中括号里面表示范围。
另外,recursive参数默认false,指的是对pathname制定的那一层扫描得到结果后就返回,
如果recursive=True,那么可以用两个星号 ** 遍历制定的路径的所有子目录和子目录里的文件。
另外,glob函数默认不搜索以· 点号开头的文件和路径,如果要求的话需要单独写个点号.
glob.iglob(pathname,recursive=False)
获取一个迭代器( iterator )对象,使用它可以逐个获取匹配的文件路径名。
与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径。
import glob
glob.iglob('*.py')
返回结果是个迭代对象.
使用示例如下
f = glob.iglob(r'*.py')
print f
for py in f:
print py
glob.escape(pathname)
escape可以忽略(escape)所有的特殊字符,就是星号,问号,中括号。