2016-04-24 7 views
1

shutil.copyfile весьма полезен для копирования файлов из одного места в другое. К сожалению, он копирует файл, даже если он уже существует.Как shutil.copyfile только в том случае, если файл отличается?

Я нахожу rsync --checksum довольно удобным в этом случае, но я не думаю, что стоит позвонить rsync с Python.

Какую альтернативу я могу использовать для копирования файла только в том случае, если он не существует или это не то же самое?

ответ

5

Вы можете использовать следующий код:

import os 
import filecmp 
import shutil 

if not os.path.exists(dst) or not filecmp.cmp(src, dst): 
    shutil.copyfile(src, dst) 
Смежные вопросы