glob 模块根据给定的格式返回路径名,尽管返回的文件路径名是乱序的,其中给定的格式不能包含波浪线 ’ ~ ‘, 但是’ * ’ , ’ ? '甚至是[ ]都能够正确匹配。其中glob以 ’ . ’ 为标志符,文件名从 ’ . ’ 开始读。
举个例子:
假如一个文件夹中包含 1.gif, 2.txt, card.gif 和一个子文件夹且其中包含3.txt这个文件,glob()将会产生下面的结果。
>>> import glob
>>> glob.glob("./[0-9].*")
>>> [ './1.gif', './2.txt' ]
>>> glob.glob( '*.gif' )
>>> [ '1.gif', 'crad.gif' ]
>>> glob.glob ('?.gif')
>>> [ '1.gif' ]
>>> glob.glob ('**/*.txt', recursive= True) //递归调用
>>> [ '2.txt' , 'sub/3.txt' ]
>>> glob.glob ('./**/', recursive = True) //递归调用
>>> [ './' , './sub/' ]
如果文件夹下的文件名中含有 ‘ . ’ , 包含 ’ . '的文件不会被自动匹配。例如,假设文件夹中含有 crad.gif 和 .card.gif 俩个文件:
>>> import glob
>>> glob.glob ('*.gif')
>>> [ 'card.gif' ]
>>> glob.glob ('.c*')
>>> [ '.card.gif' ] //注意这里多了个' . '