使用hashlib获取每个文件的md5,并比较结果.
#! /bin/env python
import hashlib
def filemd5(filename, block_size=2**20):
f = open(filename)
md5 = hashlib.md5()
while True:
data = f.read(block_size)
if not data:
break
md5.update(data)
f.close()
return md5.digest()
if __name__ == "__main__":
a = filemd5('/home/neo/todo')
b = filemd5('/home/neo/todo2')
print(a == b)
Run Code Online (Sandbox Code Playgroud)
更新:从Python 2.1开始,有一个filecmp模块可以满足您的需求,并且还具有比较目录的方法.我从来不知道这个模块,我自己还在学习Python :-)
>>> import filecmp
>>> filecmp.cmp('undoc.rst', 'undoc.rst')
True
>>> filecmp.cmp('undoc.rst', 'index.rst')
False
Run Code Online (Sandbox Code Playgroud)