gpt4 book ai didi

python - 在 Python 3.x 中递归搜索特定文件名

转载 作者:行者123 更新时间:2023-11-28 21:45:46 25 4
gpt4 key购买 nike

我目前使用的是 Python 3.x。我正在寻找递归搜索两个特定文件名的目录。我知道这两个文件名中的每一个都将存在于某些目录中。如果其中一个文件存在,另一个将存在。识别文件后,我想将它们提取到一个列表中,但以某种方式将它们链接起来,以便我以后可以一起处理它们,因为我想从两个文件中的每一个中提取数据并分析该数据,然后执行如果有意义的话,相同但来自不同目录的相同文件。因此,例如,在 C:\DesktopC:\MyDocuments 中,每个目录将包含我要识别的两个文件名(manifest.plist 和 info.plist )

到目前为止,我有以下搜索基于文件扩展名而不是文件名:-

def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))

if __name__=='__main__':
find("*.plist", test_path)

确切的文件名是 manifest.plistinfo.plist

上述方法效果很好,但需要一段时间,因为它要处理每个目录中的数千个文件。

有没有一种方法可以根据文件的特定名称快速查找文件,同样,我如何最好地将列表中每个目录中的两个文件链接起来?我正在考虑让 result[] 列表包含元组,每个元组包含到相应 info.plistmanifest.plist 的路径

谢谢大家

最佳答案

你应该使用 glob模块,特别是 glob.iglob(pathname, recursive=True) 用于大型目录。

关于python - 在 Python 3.x 中递归搜索特定文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com