如何移动在多个目录中的文件与相同的子directoies
问题描述:
import shutil
for sub_dir in os.listdir(path + "train"):
src_files = os.listdir(path+"train/" + sub_dir)
...
for file in src_files[0:split_index]:
original = path+"train/" + sub_dir+ "/" + file
distutils.dir_util.mkpath(path + "valid/" + sub_dir)
destination = path + "valid/" + sub_dir+"/"
shutil.move(original, destination)
我有两个这样的目录结构的另一个目录:
train/abc
train/def
train/ghi
valid/
我需要移动在火车文件的某部分/ to valid /并保留原来的目录结构。移动后,有效/应看起来像列车/:
valid/abc
valid/def
valid/ghi
上述代码是不完全正确的。我如何修改它以使其正确?
答
distutils.dir_util.mkpath(path + "valid/" + sub_dir)
添加了这部分,现在它工作。
使用'print()'来查看变量中的含义 - 它有助于发现问题。 – furas
你执行代码时看到了什么行为? – KevinSeaman
我需要在移动之前先创建子目录。 – user697911