前言

在linux有个命令叫做md5sum,能生成文件的md5值,一般情况下都会将结果记录到一个文件中用于校验使用,比如会这样使用:
[crazyant@localhost PythonMd5]$ more sample_file www.crazyant.net www.51projob.com [crazyant@localhost PythonMd5]$ md5sum sample_file > sample_file.md5file [crazyant@localhost PythonMd5]$ more sample_file.md5file 311d384505e3622ccf85d88930e2b0a0 sample_file [crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5file sample_file: OK
其中md5sum -c用于检测生成的md5值是否正确。
使用python生成文件md5值以及生成和md5sum结果一样的结果文件
python可以使用hashlib的md5模块对文件内容进行md5校验码生成,如果要生成和md5sum一样的结果文件,只需要将MD5结果值和文件名输出一行,中间有两个空格输出即可。
测试代码:
# -*- encoding:utf-8 -*-
from hashlib import md5
import os
def generate_file_md5value(fpath):
'''以文件路径作为参数,返回对文件md5后的值
'''
m = md5()
# 需要使用二进制格式读取文件内容
a_file = open(fpath, 'rb')
m.update(a_file.read())
a_file.close()
return m.hexdigest()
def generate_file_md5sumFile(fpath):
fname = os.path.basename(fpath)
fpath_md5 = "%s.md5" % fpath
fout = open(fpath_md5, "w")
fout.write("%s %s\n" % (generate_file_md5value(fpath), fname.strip()))
print "generate success, fpath:%s" % fpath_md5
fout.flush()
fout.close()
if __name__ == "__main__":
fpath = "/home/users/workbench/PythonMd5/sample_file"
# 测试一:以文件路径作为参数,获得md5后的字符串
print generate_file_md5value(fpath)
# 测试二:生成和linux命令:md5sum同样结果的.md5文件
generate_file_md5sumFile(fpath)
运行结果:
[crazyant@localhost PythonMd5]$ python generateMd5file.py 311d384505e3622ccf85d88930e2b0a0 generate success, fpath:/home/crazyant/workbench/PythonMd5/sample_file.md5 [crazyant@localhost PythonMd5]$ md5sum -c sample_file.md5 sample_file: OK
注意点
在windows下开发的代码,如果直接提交到linux运行,经常因为windows下的换行符是\r\n而linux是\n的缘故导致代码执行失败,一般情况下都要进行一下转换。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对的支持。
# python
# md5校验
# python生成md5
# 校验文件md5
# Python函数式编程指南:对生成器全面讲解
# Python企业编码生成系统之系统主要函数设计详解
# Python使用functools模块中的partial函数生成偏函数
# 深入理解python函数递归和生成器
# Python函数式编程指南(四):生成器详解
# 简单分析Python中用fork()函数生成的子进程
# Python函数生成器原理及使用详解
# 有个
# 都要
# 只需
# 可以使用
# 要将
# 这篇文章
# 谢谢大家
# 会将
# 是否正确
# 校验码
# 有两个
# 换行符
# 有疑问
# md5file
# code
# encoding
# utf
# py
# hashlib
相关文章:
建站之星代理费用多少?最新价格详情介绍
如何用PHP快速搭建CMS系统?
视频网站制作教程,怎么样制作优酷网的小视频?
高端云建站费用究竟需要多少预算?
如何在云主机上快速搭建网站?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
山东云建站价格为何差异显著?
如何在IIS服务器上快速部署高效网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
建站之星后台密码遗忘或太弱?如何重置与强化?
制作证书网站有哪些,全国城建培训中心证书查询官网?
建站主机是什么?如何选择适合的建站主机?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何在Golang中使用replace替换模块_指定本地或远程路径
如何用VPS主机快速搭建个人网站?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何通过IIS搭建网站并配置访问权限?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
大连网站设计制作招聘信息,大连投诉网站有哪些?
制作企业网站建设方案,怎样建设一个公司网站?
SQL查询语句优化的实用方法总结
图册素材网站设计制作软件,图册的导出方式有几种?
如何快速搭建二级域名独立网站?
如何选择PHP开源工具快速搭建网站?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
,在苏州找工作,上哪个网站比较好?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
建站之星24小时客服电话如何获取?
如何构建满足综合性能需求的优质建站方案?
建站DNS解析失败?如何正确配置域名服务器?
在线教育网站制作平台,山西立德教育官网?
h5网站制作工具有哪些,h5页面制作工具有哪些?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
,购物网站怎么盈利呢?
,网站推广常用方法?
如何做静态网页,sublimetext3.0制作静态网页?
如何选择服务器才能高效搭建专属网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
建站之星在线版空间:自助建站+智能模板一键生成方案
网页设计网站制作软件,microsoft office哪个可以创建网页?
内网网站制作软件,内网的网站如何发布到外网?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何用西部建站助手快速创建专业网站?
如何通过老薛主机一键快速建站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
*请认真填写需求信息,我们会在24小时内与您取得联系。