Переместите файлы из разных путей и замените, если какой-либо файл уже существует - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть список файлов, как показано ниже:

['/ home / Test // A / Aa / hello1. c', '/home/Test/C/Aa/hello1.c ',' /home/Test/B/Aa/hello1.c']

Я пытаюсь переместить все эти файлы с этого пути на другой путь. Когда я нахожу то же имя файла, мне нужно заменить существующее, так как я каким-то образом хотел удалить эти файлы из существующего пути, поэтому заменить мне нужно сделать, если существует такое же имя файла, поскольку они являются одинаковыми файлами.

Пробовал как показано ниже:

import shutil
list_l1 = ['/home/Test//A/Aa/hello1.c', '/home/Test/C/Aa/hello1.c', '/home/Test/B/Aa/hello1.c']
for source in list_l1:
    shutil.move(source, '/home/AShekar/sample_try/sample/')

Я получил ошибку в виде файла "/usr/lib/python2.7/shutil.py", строка 292, ошибка повышения шага, "Путь назначения"% s " уже существует "% real_dst

Заранее спасибо !!

1 Ответ

0 голосов
/ 30 апреля 2020

Фрагмент ниже будет работать на Python 3.8

    from shutil import copytree, rmtree
    import os
    src = os.path.join(os.getcwd(), 'src')
    dst = os.path.join(os.getcwd(), 'dst')
    copytree(src, dst, dirs_exist_ok=True)
    rmtree(src, ignore_errors=True)
...