python中的glob模块是用来查找匹配文件的,相比os.listdir()
其可以支持模式匹配查找(Unix shell中的匹配规则),还支持返回文件绝对路径。Unix shell中的匹配规则如下:
glob.glob(pathname)
返回所有匹配的文件路径列表。其只有一个参数pathname,定义了文件路径匹配规则,可以是绝对路径,也可以是相对路径。
glob.iglob(pathname)
返回的是匹配的文件路径生成器,即可以使用它逐个获取匹配的文件路径名。与glob.glob(pathname)
的区别是 : glob.glob(pathname)一次性获取所有的匹配路径,glob.iglob(pathname)一次只获取一个匹配路径。
两点注意
注意一:glob匹配规则中把以点.
开头的文件作为特殊情况。假设当前路径下有两个文件card.gif
和.card.gif
注意二:glob匹配规则中默认不递归匹配文件夹,在python 3.5 +可以设置recursive
,并在匹配规则中用**
来实现递归匹配