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

Python 通过迭代从文件中提取文件夹名称-缓慢,python,python-2.7,Python,Python 2.7,我有一个程序,需要在文件和子目录中循环。我需要提取已提取的子文件夹名称 我有一本字典,其中包含我需要使用的所有子文件夹名称,d。然后通过遍历这些文件,我需要检查它们的director是否在d中 这是我的密码: d = {'folder_1': 'a', 'folder_2': 'b', 'folder_3': 'c'} dir_path = "/Users/user_1/Desktop/images_testing" for root, directories, files in os.wal

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

我有一本字典,其中包含我需要使用的所有子文件夹名称,
d
。然后通过遍历这些文件,我需要检查它们的director是否在d中

这是我的密码:

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

for root, directories, files in os.walk(dir_path):
                for filename in files:
                    filepath = os.path.join(root, filename)
                    temp_path = os.path.dirname(filepath)
                    temp_sub_dir = temp_path.split("/")
                    if temp_sub_dir[-1] in d:
                        #do some work
这很好,但速度非常慢。有没有办法让这个过程更快?它非常慢。 我的主要问题是:

temp_path = os.path.dirname(filepath)
temp_sub_dir = temp_path.split("/")

我不需要完整路径,我只需要这个文件来自的文件夹名

这样做怎么样:

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

在“漫游”过程中,检查当前目录是否是
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