google_online
@google_online
My morning begins with coffee and Twitter.

Почему получаю File exists когда пробую скопировать каталоги?

Есть каталог target с подкаталогами в которых есть каталоги 'env'. Я пробую скопировать всё содержимое из каталога target в каталог backup_folder без 'env'. Использую shutil moudul и получаю File exists: 'backup_folder/target/second'

import glob
import platform
import os, shutil
import errno

def copytree(src, dst, symlinks=False, ignore=None):

    try:
        if os.path.exists(dst):
            shutil.rmtree(dst)
            print('remove and create')

        for root, dir, file in os.walk(src):
            if root.split('/')[-1] != 'env':
                s = os.path.join(src, root)
                d = os.path.join(dst, root)
                if os.path.isdir(root):
                    shutil.copytree(root, d, symlinks, ignore)
                else:
                    shutil.copy2(root, d)

    except OSError as error:
        if error.errno == errno.ENOTDIR:
            shutil.copy(source_dir_promp, destinations_dir_prompt)
        else:
            print('Directory not copied. Error: {}'.format(error))
        raise SystemExit

copytree('target', 'backup_folder')

Не могу понять как это решить эту проблему.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
google_online
@google_online Автор вопроса
My morning begins with coffee and Twitter.
Простое решение:

import shutil
shutil.copytree(scripts, fleshscripts, ignore=shutil.ignore_patterns('env'))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы