通过迭代从文件中提取文件夹名称 - 慢

时间:2017-07-23 14:59:54

标签: python python-2.7

我有一个程序,我需要循环遍历文件和子目录。我需要提取已提取的子文件夹名称。

我有一个字典,其中包含我需要使用的所有子文件夹名称$price = str_replace( array(' ', '€'), array('', ''), floatval( $item['price'] ) ); 。然后通过迭代文件,我需要检查他们的导演是否在d。

这是我的代码:

250

这样可以正常但超慢。有没有办法让这个过程更快?这是超级慢。 我的主要问题是这些问题:

d

我不需要完整路径,我只需要此文件来自的文件夹名称。

2 个答案:

答案 0 :(得分:1)

这样做怎么样:

for root, directories, files in os.walk(dir_path):
    temp_sub_dir = os.path.basename(root)
    if temp_sub_dir in d:
        for filename in files:
            filepath = os.path.join(root, filename)                    
            #do some work

答案 1 :(得分:0)

当你走路时#39;通过检查当前目录是否是d中列出的目录之一。如果是,并且该词典位置中的文件位于当前目录中,则执行某些操作'。似乎更简单。

import os 

d = {'folder_1': 'a', 'folder_2': 'b', 'folder_3': 'c'}
dir_path = "/Users/user_1/Desktop/images_testing"

for dirpath, dirnames, filenames in os.walk(dir_path):
    if os.path.split(dirpath) in d and d[os.path.split(dirpath)] in files:
            #do some work