在Python中,你可以使用os
模块和fnmatch
库来进行文件搜索
import os import fnmatch def search_files(pattern, path='.'): """ 在指定路径中搜索与给定模式匹配的文件。 :param pattern: 要匹配的文件名模式,例如 "*.txt"。 :param path: 要搜索的路径,默认为当前目录。 :return: 匹配文件名的列表。 """ matched_files = [] for root, dirs, files in os.walk(path): for file in files: if fnmatch.fnmatch(file, pattern): matched_files.append(os.path.join(root, file)) return matched_files # 使用示例 pattern = "*.txt" # 搜索所有txt文件 path = "/path/to/search" # 要搜索的路径 matched_files = search_files(pattern, path) print("匹配的文件:", matched_files)
在这个示例中,我们定义了一个名为search_files
的函数,它接受一个文件名模式和一个要搜索的路径。os.walk()
函数用于遍历指定路径中的所有文件和目录。对于每个文件,我们使用fnmatch.fnmatch()
函数检查文件名是否与给定模式匹配。如果匹配,我们将文件的完整路径添加到matched_files
列表中。最后,函数返回匹配文件名的列表。