Перемещение нескольких файлов в произвольном порядке из каталога в каталог - PullRequest
0 голосов
/ 03 мая 2018

Я написал скрипт, который будет копировать один файл из одного каталога в другой. Есть ли способ выбрать несколько? То есть конкретно 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 голосов
/ 03 мая 2018

Дайте этому шанс. Вы можете изменить 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)
...