循环通过dir python中的文件夹

时间:2018-04-16 20:43:46

标签: python python-3.x path directory

我需要将holding_folder中每个文件夹的目录存储在列表中。

C:\users\documents\holding_folder

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

Raw data 3543
Raw data 4565
Raw data 4677

然而,当我点击每个文件夹时,会有空文件夹,直到我到达带有数据的最终文件夹。

示例:

raw data 3543\sub\supersub\P3543

文件夹P3543包含所有数据。 sub和supersub文件夹存在于每个'原始数据xxxx文件夹'中。 raw data xxxx文件夹中Pxxxx上的相同4位数字。

我做的第一件事是使用以下方法为holding_folder中的每个文件夹拉取最后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)

0 个答案:

没有答案