文件不同,MD5值不同
通过获取 ftp 服务器 md5 的值,并保存在文件中,
本地也可以用,获取md5的值,比较不同
实现对比文件,获取下载,类似svn的功能
class GetFileMd5():
''''''
def getfilemd5(self, filename):
'''
get md5 of each file
'''
myhash = hashlib.md5()
f = file(filename, 'rb')
while True:
b = f.read(8096)
if not b :
break
myhash.update(b)
f.close()
return myhash.hexdigest()
def record_md5(self, path, result):
'''
record md5 of each file
'''
filename = '../../res/' + result
filename = os.path.abspath(filename)
file = []
filemd5 = {}
for root, dirs, files in os.walk(path, topdown=False):
for name in files:
file.append(os.path.join(root, name))
for f in file:
md5 = self.getfilemd5(f)
filemd5[f] = md5
content = json.dumps(filemd5, indent=4)
f=open(filename,'w')
f.write(content)
f.close()