2009-07-09 47 views
1

我想要为给定的文件列表生成并存储CRC(或类似的)值,以后可以用作比较。编写一个函数来做到这一点很简单,但是在Python库中有更标准的方法吗?Python数据/文件Crc

生成的值不需要是任何特定的标准。

回答

5

推荐hashlib,它实现了许多不同的安全散列和消息摘要算法的通用接口。包括FIPS安全散列算法SHA1和MD5。 演示代码:

import hashlib 
m = hashlib.md5() 
for line in open('data.txt', 'rb'): 
    m.update(line) 
print m.hexdigest() 
##ouput 
1ab8ad413648c44aa9b90ce5abe50eea 
+0

一个简单的hashlib.md5(my_file.read())? – kjfletch 2009-07-09 10:39:32

+1

@kjfletch,我用一个简单的演示代码更新了答案,它逐行更新md5以方便系统加载,并且您可以在os.walk中使用此函数(http://docs.python.org/library/ os.html#os.walk有一个示例)可以根据需要计算每个文件的md5。 – sunqiang 2009-07-09 10:46:21

1

如果你不需要单向安全性,您也可以使用zlib.crc32zlib.adler32,如记录here