python 计算文件的md5值实例


Posted in Python onJanuary 13, 2017

较小文件处理方法:

import hashlib
import os

def get_md5_01(file_path):
  md5 = None
  if os.path.isfile(file_path):
    f = open(file_path,'rb')
    md5_obj = hashlib.md5()
    md5_obj.update(f.read())
    hash_code = md5_obj.hexdigest()
    f.close()
    md5 = str(hash_code).lower()
  return md5

if __name__ == "__main__":
  file_path = r'D:\test\test.jar'
  md5_01 = get_md5_01(file_path)
  print(md5_01)

较大文件处理方法:

import hashlib
import os

def get_md5_02(file_path):
  f = open(file_path,'rb')  
  md5_obj = hashlib.md5()
  while True:
    d = f.read(8096)
    if not d:
      break
    md5_obj.update(d)
  hash_code = md5_obj.hexdigest()
  f.close()
  md5 = str(hash_code).lower()
  return md5

if __name__ == "__main__":
  file_path = r'D:\test\test.jar'
  md5_02 = get_md5_02(file_path)
  print(md5_02)

说明:对于同一个文件,两种方法计算得到的md5是一致的。

注:以上代码在Python 3.x版本测试通过。

以上这篇python 计算文件的md5值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
Python实现自动发送邮件功能
Mar 02 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
django如何连接已存在数据的数据库
Aug 14 Python
python截取两个单词之间的内容方法
Dec 25 Python
Python 使用多属性来进行排序
Sep 01 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
Django ValuesQuerySet转json方式
Mar 16 Python
Python把图片转化为pdf代码实例
Jul 28 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
Python 字典与字符串的互转实例
Jan 13 #Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 #Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 #Python
python递归删除指定目录及其所有内容的方法
Jan 13 #Python
Python实现二分查找与bisect模块详解
Jan 13 #Python
python基础教程之五种数据类型详解
Jan 12 #Python
python实现斐波那契数列的方法示例
Jan 12 #Python
You might like
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
JavaScript中的逻辑判断符&&、||与!介绍
2014/12/31 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
js实现全选和全不选
2020/07/28 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
高中军训第一天感言
2014/03/06 职场文书
优秀护士演讲稿
2014/04/30 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
银行授权委托书样本
2014/10/13 职场文书
国情备忘录观后感
2015/06/04 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
MySQL数据库表约束讲解
2022/06/21 MySQL