遍历dir python中的文件夹

2024-10-03 06:29:05 发布

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

我需要在一个列表中保存每个文件夹的目录。在

C:\users\documents\holding_folder

在这个文件夹中,我有数百个文件夹,例如:

^{pr2}$

但是,当我点击每个文件夹时,都会有空文件夹,直到我找到包含数据的最终文件夹。在

示例:

raw data 3543\sub\supersub\P3543

文件夹P3543包含所有数据。每个“原始数据xxxx文件夹”中都存在子文件夹和超子文件夹。raw data xxxx上的相同4位数字位于Pxxxx文件夹中。在

我做的第一件事是用以下方法提取holding_文件夹中每个文件夹的最后4位数字:

main_dir = os.listdir(r'C:\users\documents\holding_folder')
numeric_values = [x[-4:] for x in main_dir]

然后我尝试将字符串连接到需要的两个部分,但收到无效语法错误:

final_paths= [(r'C:\users\documents\holding_folder' + str(x) + '\sub\supersub\P' + str(x)) for x in numeric_values]

我甚至尝试过按建议使用os.path.join的方法,here,但是我得到了一个无效的语法错误:

final_paths = [(os.path.join(r'C:\users\documents\holding_folder' + str(x) + '\sub\supersub\P' + str(x))) for x in numeric_values]

我也尝试了\\而不是单一的\,但是每个文件路径都有两个斜杠。示例:

C:\\users\\documents\\holding_folder\\raw data 3543\\sub\\supersub\\P3543

我最终想要的输出是:

['C:\users\documents\holding_folder\3543\sub\supersub\P3543',
 'C:\users\documents\holding_folder\4565\sub\supersub\P4565',
 'C:\users\documents\holding_folder\4677\sub\supersub\P4677' ]

任何帮助都会很好。我不知道我错过了什么。在

我最终尝试遍历每个文件路径。这就是为什么我要将每个路径存储在一个列表中。使用:

for item in list:
    os.chdir(item)

Tags: in文件夹fordatarawosfolderusers