在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
列表中。最后,函数返回匹配文件名的列表。