使用Python对文件操作可谓是有些不方便,知道我发现了glob模块。
glob用法
glob是python自己带的一个文件操作相关模块,内容也不多,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,而且也支持通配符,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。
它的主要方法就是glob,该方法返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),比如:
示例:
import glob
print glob.glob(r'D:\github\xiexianbin.github.io\*.html')
输出结果:
['D:\\github\\xiexianbin.github.io\\404.html', 'D:\\github\\xiexianbin.github.io\\archive.html', 'D:\\github\\xiexianbin.github.io\\categories.html', 'D:\\github\\xiexianbin.github.io\\index.html', 'D:\\github\\xiexianbin.github.io\\lian_22_cn.html', 'D:\\github\\xiexianbin.github.io\\links.html', 'D:\\github\\xiexianbin.github.io\\pages.html', 'D:\\github\\xiexianbin.github.io\\tags.html']
因此,就获取目录D:\github\xiexianbin.github.io的文件结尾是.html的文件。
使用相对路径:
glob.glob(r'../*.html')
iglob方法
获取一个可编历对象, 使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径。下面是一个简单的例子:
import glob
file = glob.iglob(r'D:\github\xiexianbin.github.io\*.html')
for html in file:
print html
输出示例:
D:\github\xiexianbin.github.io\404.html
D:\github\xiexianbin.github.io\archive.html
D:\github\xiexianbin.github.io\categories.html
D:\github\xiexianbin.github.io\index.html
D:\github\xiexianbin.github.io\lian_22_cn.html
D:\github\xiexianbin.github.io\links.html
D:\github\xiexianbin.github.io\pages.html
D:\github\xiexianbin.github.io\tags.html