在线文档教程

glob

glob - Unix样式路径名称模式扩展

源代码: Lib / glob.py

glob模块发现所有匹配的根据由Unix外壳使用的规则指定模式的路径名,尽管结果在任意的顺序返回。没有代字符扩展已完成,但是*?和表达的字符范围[]将正确匹配。这是通过使用函数os.listdir()fnmatch.fnmatch()函数完成的,而不是通过实际调用子shell来完成的。请注意,不同的是fnmatch.fnmatch(),作为特殊情况glob处理以点(.)开头的文件名。(对于代字号和外壳变量扩展,请使用os.path.expanduser()os.path.expandvars()。)

对于文字匹配,将元字符括在括号中。例如,'[?]'匹配字符'?'

glob.glob(pathname)

返回匹配路径名的可能为空的路径名列表,该列表必须是包含路径规范的字符串。路径名可以是绝对的(如/usr/src/Python-1.5/Makefile)或相对的(如../../Tools/*/*.gif),并且可以包含shell风格的通配符。结果中包含损坏的符号链接(如在shell中)。

glob.iglob(pathname)

返回一个产生相同值的迭代器,glob()而不是实际同时存储它们。

2.5版本中的新功能。

例如,只考虑包含以下文件的目录:1.gif2.txt,和card.gifglob()会产生以下结果。注意如何保留路径的任何主要组件。

>>> import glob >>> glob.glob('./[0-9].*') ['./1.gif', './2.txt'] >>> glob.glob('*.gif') ['1.gif', 'card.gif'] >>> glob.glob('?.gif') ['1.gif']

如果目录中包含的文件.以默认值不匹配开头。例如,考虑一个包含card.gif和的目录.card.gif

>>> import glob >>> glob.glob('*.gif') ['card.gif'] >>> glob.glob('.c*') ['.card.gif']

另请参阅

Module fnmatch Shell风格的文件名(不是路径)扩展