Итак, я хочу скопировать некоторые файлы и каталоги из одного места в другое. Достаточно легко с shutil.move
, но я столкнулся с проблемами, когда файлы или каталоги уже находятся в пункте назначения. Ошибка, которую я получаю, составляет Destination path '...' already exists
.
Я попробовал os.rename
, и он тоже не дал желаемых результатов.
Есть ли простой способ скопировать файлы и структуру dir в другое место, даже если эти файлы и структура dir уже присутствуют в dest?
Вот что у меня сейчас:
fileList = os.listdir('/Users/john.leschinski/Desktop/testSrc')
dest = '/Users/john.leschinski/Desktop/testMove'
for i in fileList:
src = '/Users/john.leschinski/Desktop/testSrc/' + i
shutil.move(src,dest)
Как насчет:
def move_over(src_dir, dest_dir):
fileList = os.listdir(src_dir)
for i in fileList:
src = os.path.join(src_dir, i)
dest = os.path.join(dest_dir, i)
if os.path.exists(dest):
if os.path.isdir(dest):
move_over(src, dest)
continue
else:
os.remove(dest)
shutil.move(src, dest_dir)
src_dir = '/Users/john.leschinski/Desktop/testSrc'
dest_dir = '/Users/john.leschinski/Desktop/testMove'
move_over(src_dir, dest_dir)