从dir随机移动多个文件到dir

时间:2018-05-03 18:02:03

标签: python random copy

我写了一个脚本,将一个文件从一个目录复制到另一个目录。 有没有办法选择多个?即特别是源目录中文件总数的25%?我一直无法找到答案。

这就是我所拥有的。

files = os.listdir(source_dir)
index = random.randrange(0, len(files))
random_file = files[index]
shutil.copy(source_dir + random_file, output_dir)

感谢。

1 个答案:

答案 0 :(得分:1)

给它一个机会。您可以将rootdir,output_dir和百分比更改为您想要的任何内容。

import os, shutil
from random import choice

rootdir = 'C:/images'
output_dir = 'C:/copies'
for subdir, dir, files in os.walk(rootdir):
    if files:
        for x in range(int(len(files) *.25)):
            to_copy = choice(files)
            shutil.copy(os.path.join(subdir, to_copy), os.path.join(output_dir, to_copy))
            files.remove(to_copy)