【发布时间】:2018-05-03 17:19:21
【问题描述】:
我有 400 个文件夹。在每个文件夹中,我必须钻入 3 个额外的文件夹,然后在最后一个文件夹中我有 22 个不同的文件。这 400 个文件夹中的每一个都具有相同的命名文件。最终,我想创建 22 个文件夹,每个文件名一个,在 22 个文件夹中,我只需要同名的文件。由于一个文件夹不能有两个同名的文件,所以将文件路径的最后6个字符添加到文件名即可解决问题。
使用下图作为文件示例:
I need an ACO folder with 400 files all of which are labeled i.e., "ACO050168", "ACO150074", "ACO150128"
I need an BDUAL folder with 400 files all of which are labeled BDUAL i.e., "BDUAL050168", "BDUAL150074", "BDUAL150128"
etc..
这里是文件路径的例子,注意最后一个文件夹和最后一个文件夹的第四个是唯一的
'C:\\Users\\MBobak\\Documents\\Loop\\Raw Claims Data 050168\\D#CJR\\Y2018M02\\P050168',
'C:\\Users\\MBobak\\Documents\\Loop\\Raw Claims Data 150074\\D#CJR\\Y2018M02\\P150074',
'C:\\Users\\MBobak\\Documents\\Loop\\Raw Claims Data 150128\\D#CJR\\Y2018M02\\P150128'
每个文件夹中的 22 个文件的结构为 .csv,但没有 .csv 扩展名。他们只是files。我附上了一张图片来展示它的样子。
我知道有一些方法可以在命令行中执行此操作,但我找不到此问题的具体示例,因为每个初始文件夹都有向下钻取。
我尝试在 python 中执行此操作,并在 python 中编写了一个小脚本来查找包含 22 个文件的最终目录:
all_files_dir = r'C:\Users\MBobak\Documents\Loop'
folders = os.listdir(all_files_dir)
ccn_list = [x[-6:] for x in folders]
ccn_file_dir = [r'C:\Users\MBobak\Documents\Loop\Raw Claims Data ' + x + '\D#CJR\Y2018M02\P' + x for x in ccn_list]
但现在我无法将它们复制/移动到新文件夹中。
【问题讨论】:
-
ACO 文件夹中是否应该有名为“ACO050168”、“ACO150074”、“ACO150128”等的文件?或者,...应该叫什么名字?
-
我刚刚意识到您不能在一个文件夹中使用相同的名称两次...像您一样更改名称是理想的。
标签: python command-line copy