我需要将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)