Oto poniżej kod, który będzie poruszać i zastąpić pojedynczy plikMove i wymienić jeśli sama nazwa pliku już istnieje w Pythonie
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)
Jeśli mogę wykonać to samo polecenie i przenoszenie plików, które istniały już w dst folder
Dostaję shutil.Error: Destination path './dstFolder/file.txt' already exists
jak zrobić ruch i wymienić jeśli sama nazwa pliku już istnieje
działa to również na dysku sieciowym, mam pełną ścieżkę do pliku, ale to nie jest przesłonięcie, wyjście z "Plik istnieje" – user1767754
@ user1767754 Spodziewam się, że tak się stanie, jeśli źródło jest dowiązaniem symbolicznym . Być może mógłbyś zadać następne pytanie? – ecatmur
@egatmur Niezależnie testowałem to samo. 1. Jeśli katalog docelowy ma już nazwę źródłową, a robisz 'shutil.move (src_filename, dst_dirname)' zostanie zgłoszony błąd 'Błąd: Ścieżka docelowa 'dst_dirname/src_filename" już istnieje ". 2. JEDNAKŻE, jeśli zrobisz "dst_filename = os.path.join (dst_dirname, os.path.basename (src_filename)); shutil.move (src_filename, dst_filename) '-> wtedy nie otrzymujesz wyjątku podniesionego. –