使用glob2模块在Python中递归查找所有文件
发布时间:2023-12-25 06:19:35
在Python中,可以使用glob2模块来递归查找匹配指定模式的文件。glob2模块是glob模块的扩展,它支持递归搜索文件和文件夹。
首先,我们需要安装glob2模块。可以使用以下命令来安装:
pip install glob2
安装完成后,我们可以使用glob2.glob函数来递归查找文件。该函数接受一个模式作为参数,并返回匹配该模式的文件列表。
下面是一个使用glob2模块递归查找所有文件的例子:
import glob2
def find_files(pattern):
files = glob2.glob(pattern)
return files
files = find_files('**/*.txt')
for file in files:
print(file)
在上面的例子中,find_files函数接受一个模式作为参数,并使用glob2.glob函数查找匹配该模式的文件。返回的文件列表存储在files变量中。
然后,我们使用for循环遍历文件列表,并打印每个文件的路径。
在上面的例子中,模式'**/*.txt'匹配所有扩展名为.txt的文件,**表示递归搜索。
除了使用通配符来匹配文件名之外,我们还可以使用[]来匹配多个字符。例如,模式'**/[abc]*.txt'匹配所有以字符'a'、'b'或'c'开头的文件名,并以.txt结尾。
我们还可以使用glob2.glob函数查找匹配多个模式的文件。例如,我们可以使用以下代码查找所有扩展名为.txt和.csv的文件:
files = glob2.glob('**/*.txt') + glob2.glob('**/*.csv')
除了使用glob2.glob函数,glob2模块还提供了其他方便的函数,如glob2.iglob函数用于返回一个迭代器而不是一个列表。
总结来说,glob2模块为我们提供了一个简单而强大的方法来递归查找文件。我们可以使用通配符来匹配文件名,并灵活地组合多个模式来查找特定类型的文件。通过使用glob2模块,我们可以快速方便地找到需要操作的文件,提高代码的效率。
