Используйте python с mobaxterm для копирования 25 случайных файлов из одной папки в другую - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь написать сценарий python, который можно запустить с помощью mobaxterm, чтобы получить 25 случайных файлов из папки и скопировать их в другую папку.

Я очень новичок в использовании mobaxterm, моя стажировка в основном была написание небольших сценариев, чтобы помочь моим коллегам автоматизировать повседневные дела, поэтому любые советы приветствуются! Я могу открыть mobaxterm и перейти в папку, где хранится этот скрипт python, но я получаю следующие ошибки:

IOError: [Errno 21] Is a directory: 

мой код сейчас выглядит следующим образом

import shutil, random, os

dirpath = '/SSH_folder_where_stuff_is/images/' 

destDirectory = '/SSH_folder_where_stuff_should_go/'

filenames = random.sample(os.listdir(dirpath), 25)
for fname in filenames:
    srcpath = os.path.join(dirpath, fname)
    shutil.copyfile(srcpath, destDirectory)
    print('done!')

Спасибо заранее за любые предложения!

1 Ответ

2 голосов
/ 15 апреля 2020

Вам необходимо изменить shutil использование. shutil принимает два имени файла, но в вашем коде второе является каталогом.

Вот исправленная версия.

import shutil, random, os

dirpath = '/SSH_folder_where_stuff_is/images/' 
destDirectory = '/SSH_folder_where_stuff_should_go/'

filenames = random.sample(os.listdir(dirpath), 5)
for fname in filenames:
    srcpath = os.path.join(dirpath, fname)
    # Change the second parameter here.
    shutil.copyfile(srcpath, destDirectory+fname)
    print('done!')
...