我有一个程序,我需要循环遍历文件和子目录。我需要提取已提取的子文件夹名称。
我有一个字典,其中包含我需要使用的所有子文件夹名称$price = str_replace( array(' ', '€'), array('', ''), floatval( $item['price'] ) );
。然后通过迭代文件,我需要检查他们的导演是否在d。
这是我的代码:
250
这样可以正常但超慢。有没有办法让这个过程更快?这是超级慢。 我的主要问题是这些问题:
d
我不需要完整路径,我只需要此文件来自的文件夹名称。
答案 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