去掉重复的文件

来源:互联网 发布:chairgun3弹道软件 编辑:程序博客网 时间:2024/05/16 02:31

MD5和SHA-1 算法来哈希文件比较常用,它们非常快,并且可以用它们来鉴别文件,它们是根据文件内容来鉴别,并不是文件的名字。

python hash MD5

注:使用python 高于2.7版本,包括3.x版本

import hashlibhasher = hashlib.md5()with open('myfile.jpg', 'rb') as afile:    buf = afile.read()    hasher.update(buf)print(hasher.hexdigest())

使用rb模式打开文件,因为MD5方法是使用字节串的方式读取文件的,这样一来可以hash任何文件,不仅仅是文本文件

注意:这里的读取方法,像前面代码这样,当没有其他参数时,它是将所有的内容读入内存,如果不确定文件的大小,这很危险。

MD5 hash大的文件

import hashlibBLOCKSIZE = 65536hasher = hashlib.md5()with open('anotherfile.txt', 'rb') as afile:    buf = afile.read(BLOCKSIZE)    while len(buf) > 0:        hasher.update(buf)        buf = afile.read(BLOCKSIZE)print(hasher.hexdigest())

如果不想用MD5,可以换成其他算法,如:SHA1:

import hashlibBLOCKSIZE = 65536hasher = hashlib.sha1()with open('anotherfile.txt', 'rb') as afile:    buf = afile.read(BLOCKSIZE)    while len(buf) > 0:        hasher.update(buf)        buf = afile.read(BLOCKSIZE)print(hasher.hexdigest())

查看支持的算法: hashlib.algorithms_available. (3.2 以上版本有效).

最后封装成方法

import hashlibdef md5Checksum(filePath):        with open(filePath, 'rb') as fh:        m = hashlib.md5()                while True:            data = fh.read(8192)            if not data:                                break             m.update(data)            return m.hexdigest()print('The MD5 checksum of text.txt is', md5Checksum('test.txt'))

资源链接:
http://joelverhagen.com/blog/2011/02/md5-hash-of-file-in-python/
http://www.pythoncentral.io/hashing-files-with-python/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 话梅核吞下去了怎么办 芒果和海鲜吃了怎么办 小孩咳嗽喉咙有痰怎么办 4岁宝宝喉咙有痰怎么办 20天新生儿有痰怎么办 孩子嗓子老是有痰怎么办 买的哈密瓜不甜怎么办 吉他琴颈变形了怎么办 hcg值长得慢怎么办 蚊子老在耳边叫怎么办 刚买来的鲜海参怎么办 天冷手指关节疼怎么办 未满一年驾龄上高速违章怎么办 榴莲太生剥开了怎么办 榴莲开了没熟怎么办 榴莲打开了没熟怎么办 榴莲开口了没熟怎么办 榴莲没熟打开了怎么办 不熟的榴莲没熟怎么办 打开的榴莲没熟怎么办 开了的榴莲没熟怎么办 榴莲剥出来没熟怎么办 榴莲剥开了没熟怎么办 榴莲买回来没熟怎么办 整个的榴莲熟了怎么办 买的榴莲有点生怎么办 剥开的榴莲肉硬怎么办 买了钻戒后悔了怎么办 钻戒小钻石掉了怎么办 2岁宝宝爱看电视怎么办 笛子中音3有点高怎么办 长笛嘴型,杂音多怎么办 房子户型图没了怎么办 微信显示无响应怎么办 领完失业金档案怎么办 qq占了2g内存怎么办 吉他的弦断了怎么办 机械键盘轴坏了怎么办 钢琴的琴键坏了怎么办 连供管子有空气怎么办 刚买的竹笛炸音怎么办