使用Python查找文件手术室步行()在列表中理解?

2024-05-29 07:53:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用手术室步行()方法,列出指向可以找到特定文件的所有文件夹和子文件夹的路径列表。在

我厌倦了使用一堆循环和elif,并将它们打包成一个(相当混乱)的列表理解,这完全是我想要的:

import os    
directory = "C:\\Users\\User\\Documents"
file_name = "example_file.txt"    
list_of_paths = [path for path in (os_tuple[0] for os_tuple in os.walk(directory) if file_name in (item.lower() for item in os_tuple[2]))]

我有两个问题。首先,也是最重要的一点是:有没有更有效的方法来做到这一点?我经常希望在同样多的文件夹中找到几百个文件,如果它在服务器上,可能需要几分钟。在

第二个问题是:如何使其更具可读性?在一个列表理解中有两个生成器理解,感觉很混乱。在

更新:我被告知要使用Glob,所以我不得不尝试一下。它似乎和我的列表理解一样有效手术室步行(). 因此,我的下一步将在几个不同的文件和文件夹上测试这两个版本。在

^{pr2}$

如有任何补充意见,我们非常欢迎。在

更新2:在测试了两种方法后,我得到的结果表明手术室步行()方法的速度大约是环球网()方法。测试是在大约400个文件夹上进行的,总共有326份我正在寻找的文件。在


Tags: 文件path方法namein文件夹列表for

热门问题