Скрипт копирования файлов Python

1

Я построил скрипт на Python, чтобы скопировать любые файлы из списка папок в уже созданную папку назначения.

source = ['c:/test/source/', ]
destination = 'c:/test/destination/'

def copy(source, destination):

    import os, shutil

    try:
        for folder in source:
            files = os.listdir(folder)

            for file in files:
                current_file = os.path.join(folder, file)
                shutil.copy(os.path.join(folder, file), destination)

    except:
         pass

Проблема с этим скриптом заключается в том, что он не копировал подпапки. Любое предложение исправить?

Спасибо

Теги:

1 ответ

1
Лучший ответ

Я думаю, вам нужно использовать shutil.copytree

shutil.copytree(os.path.join(folder, file), destination)

но shutil.copytree не перезаписывать, если папка существует, если вы хотите перезаписать все, используйте distutils.dir_util.copy_tree

from distutils import dir_util
dir_util.copy_tree(os.path(join(folder, file), destination)
  • 0
    Да, это почти работает, но все еще другая проблема. Действительно, сценарий сказал мне, что папка с именем 'destination' уже существует. То, что я хочу, это принудительно копировать папки, файлы и подпапки, если они уже существуют.
  • 0
    @GrandGTO обновить мой ответ попробуйте
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню