13
Вот ниже код, который будет двигаться и заменить отдельный файлMove и заменить, если же имя файла уже существует в питона
import shutil
import os
src = 'scrFolder'
dst = './dstFolder/'
filelist = []
files = os.listdir(src)
for filename in files:
filelist.append(filename)
fullpath = src + '/' + filename
shutil.move(fullpath, dst)
Если я выполнить ту же команду и движущуюся файл, который уже существует в dst folder
я получаю shutil.Error: Destination path './dstFolder/file.txt' already exists
хау сделать шаг и заменить, если же имя файла уже существует
делает это также на сетевом диске, у меня есть полный путь к файлу, но он не переписывается, выходя из «Файлов существует» – user1767754
@ user1767754 Я бы только ожидал, что это произойдет, если источник является символической ссылкой , Возможно, вы могли бы задать следующий вопрос? – ecatmur
@ecatmur Я самостоятельно тестировал одно и то же. 1. Если каталог назначения уже имеет исходное имя файла, и вы выполняете 'shutil.move (src_filename, dst_dirname)' ошибка возникает 'Ошибка: путь назначения 'dst_dirname/src_filename' уже существует'. 2. ОДНАКО, если вы выполняете 'dst_filename = os.path.join (dst_dirname, os.path.basename (src_filename)); shutil.move (src_filename, dst_filename) '->, тогда вы не получите исключение. –