0

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

这就是我所拥有的。

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

谢谢。

4

1 回答 1

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)
于 2018-05-03T18:14:54.450 回答