在python中加速搜索文件夹路径?

时间:2016-12-29 09:00:21

标签: python python-2.7

我正在使用python 2.7并尝试搜索文件夹而不是文件

我们为每个项目都有特定的项目编号,并且evry文档会转到任何项目下的项目文件夹。因此,我们必须搜索项目文件夹,如果它存在或有效。

我的脚本可以找到特定文件夹,但需要很长时间(大约需要11到13分钟才能完成此过程)

我想分享我的脚本工作以获得更好的想法。

import os                            

path=r"F:\Projekte"

def find_directory():
    for root, dirs, files in os.walk(path):
        for i in dirs:
            if i=="A9901001":
                print root

find_directory()

2 个答案:

答案 0 :(得分:1)

为什么不在python中执行linux find命令或tree命令(如果是windows,则为FIND)。像find这样的命令会使用系统索引,并且可能会提供更快的结果。

类似的东西: -     find . -type d -name "A9901001"

Python代码看起来应该是这样的

import os
paths = os.system('find . -type d -name "A9901001"')

注意: - 只有在获得一些性能时才能使用此解决方案,因为您的初始方法肯定更优雅。

答案 1 :(得分:1)

为什么不这样呢?

def find_directory():
    for root, dirs, files in os.walk(path):
        if "A9901001" in dirs:
            print(root, "A9901001")

如果你有使用python3的问题:有os.scandiros.walk类似,但在NTFS上要快得多。