Python 如何将多个目录中的文件移动到具有相同子目录的另一个目录中

Python 如何将多个目录中的文件移动到具有相同子目录的另一个目录中,python,Python,我有 我有两种目录结构: 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_

我有

我有两种目录结构:

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/中的部分文件移动到valid/并保留原始目录结构。移动后,valid/应与train/相同:

train/abc
train/def
train/ghi

valid/
上面的代码不太正确。如何修改它以使其正确

valid/abc
valid/def
valid/ghi

添加了此部分,现在可以正常工作。

使用
print()
查看变量中的内容-这有助于发现问题。执行代码时会看到什么行为?我需要在移动之前先创建子目录。
distutils.dir_util.mkpath(path + "valid/" + sub_dir)