2016-04-24 11 views
1

shutil.copyfile ist sehr nützlich zum Kopieren von Dateien von einem Ort zum anderen. Leider kopiert es die Datei, obwohl sie bereits existiert.Wie shutil.copyfile nur wenn Datei anders ist?

Ich finde rsync --checksum in diesem Fall ziemlich bequem, aber ich denke nicht, es lohnt sich rsync von Python aufrufen.

Welche Alternative kann ich verwenden, um eine Datei nur zu kopieren, wenn sie nicht existiert oder nicht identisch ist?

Antwort

5

können Sie den folgenden Code verwenden:

import os 
import filecmp 
import shutil 

if not os.path.exists(dst) or not filecmp.cmp(src, dst): 
    shutil.copyfile(src, dst)