以下代码从目录1中随机选择50个文件,并将它们复制到一个具有相同名称的新文件夹中。
然而,我有数百个文件夹需要从中抽样(并将其复制到一个具有相同名称的新文件夹中)。
如何调整代码的第一部分,以便可以循环遍历所有子目录,并将样本移动到具有相同名称的新文件夹中(因此子目录1的样本移动到目录1 ,子目录2 的样本移动到目录2等)?
然而,我有数百个文件夹需要从中抽样(并将其复制到一个具有相同名称的新文件夹中)。
如何调整代码的第一部分,以便可以循环遍历所有子目录,并将样本移动到具有相同名称的新文件夹中(因此子目录1的样本移动到目录1 ,子目录2 的样本移动到目录2等)?
import os
import shutil
import random
from shutil import copyfile
sourcedir = '/home/mrman/dataset-python/train/1/'
newdir = '/home/mrman/dataset-python/sub-train/1'
filenames = random.sample(os.listdir(sourcedir), 50)
for i in filenames:
shutil.copy2(sourcedir + i, newdir)