欢迎访问宙启技术站
智能推送

在Python中使用glob()函数在多个目录中搜索文件

发布时间:2023-12-31 23:49:01

在Python中,可以使用glob模块中的glob()函数来搜索文件。glob()函数使用通配符模式匹配文件路径,返回符合条件的文件路径列表。

下面是一个使用glob()函数在多个目录中搜索文件的例子:

import glob

def search_files(pattern, directories):
    files = []
    for directory in directories:
        search_pattern = directory + pattern
        files.extend(glob.glob(search_pattern))
    return files

pattern = '*.txt'  # 搜索以.txt结尾的文件
directories = ['/path/to/dir1/', '/path/to/dir2/']  # 搜索两个目录

result = search_files(pattern, directories)
print(result)

在上述例子中,我们定义了一个名为search_files()的函数,它接受一个模式和一个目录列表作为参数,并返回符合模式的文件路径列表。

首先,我们通过在目录路径和模式之间连接字符串来构建搜索模式。在本例中,模式为'*.txt',即搜索以.txt结尾的文件。

然后,我们使用glob.glob()函数在每个目录中搜索文件。glob.glob()函数接受一个字符串参数,该字符串包含了搜索模式。它返回一个文件路径的列表,该列表包含了所有与模式匹配的文件。

最后,我们使用extend()方法将每个目录中找到的文件路径添加到一个文件列表中。extend()方法将一个列表中的所有元素追加到另一个列表中。

最后,我们打印出搜索结果。

假设在目录'/path/to/dir1/'中存在文件'file1.txt'和'file2.txt',在目录'/path/to/dir2/'中存在文件'file3.txt'。在这种情况下,输出将是['/path/to/dir1/file1.txt', '/path/to/dir1/file2.txt', '/path/to/dir2/file3.txt']

以上就是在Python中使用glob()函数在多个目录中搜索文件的一个例子。你可以根据自己的需求修改模式和目录路径。