首页 > 上网技巧 > Python3获取文件的MD5

Python3获取文件的MD5

时间:2021-01-29 13:39 作者:QQ地带 我要评论

用Python从网上保存图片时,有时需要计算图片或文件的md5值。以下为计算md5的几种方式:
 
一、如果知道文件的url
 
import hashlib
 
 
def get_md5(url):
    if isinstance(url, str):
        url = url.encode("utf-8")
    m = hashlib.md5()
    m.update(url)
    # 返回十六进制数据字符串值
    return m.hexdigest()
 
 
if __name__ == '__main__':
    print(get_md5("https://baidu.com".encode("utf-8")))
注意:Python3中所有字符都变成了Unicode,但get_md5函数不接受Unicode,所以需要进行encode编码,才会被hashlib接受。
 
二、计算本地文件的md5
 
import hashlib
 
 
file = open("localfile.jpg","r")
f = file.read()
m = hashlib.md5()
m.update(f)
print m.hexdigest()
f.close()
三、当文件较大时
 
import hashlib
import os
 
 
def getBigFileMD5(filepath):
    if os.path.isfile(filepath):
        md5obj = hashlib.md5()
        maxbuf = 8192
        f = open(filepath,'rb')
        while True:
            buf = f.read(maxbuf)
            if not buf:
                break
            md5obj.update(buf)
        f.close()
        hash = md5obj.hexdigest()
        return str(hash).upper()
    return None

标签: Python
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告