仅当文件不同时如何shutil.copyfile?
How to shutil.copyfile only if file differ?
shutil.copyfile
对于将文件从一个位置复制到另一个位置非常有用。不幸的是,它确实复制了文件,即使它已经存在。
我发现 rsync --checksum
在这种情况下非常方便,但我认为不值得从 Python 调用 rsync
。
仅当文件不存在或不相同时,我可以使用什么替代方法来复制文件?
您可以使用以下代码:
import os
import filecmp
import shutil
if not os.path.exists(dst) or not filecmp.cmp(src, dst):
shutil.copyfile(src, dst)
shutil.copyfile
对于将文件从一个位置复制到另一个位置非常有用。不幸的是,它确实复制了文件,即使它已经存在。
我发现 rsync --checksum
在这种情况下非常方便,但我认为不值得从 Python 调用 rsync
。
仅当文件不存在或不相同时,我可以使用什么替代方法来复制文件?
您可以使用以下代码:
import os
import filecmp
import shutil
if not os.path.exists(dst) or not filecmp.cmp(src, dst):
shutil.copyfile(src, dst)