博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Python的MD5模块比较两个文件是否一致
阅读量:4329 次
发布时间:2019-06-06

本文共 795 字,大约阅读时间需要 2 分钟。

在Python中内置了md5的实现,就是md5模块,因此可以很简单的处理比较两个文件是否一致的问题。如以下代码片断:

import os,sys,md5
 
f1 = open('f:/1.txt','r')
f2 = open('f:/1.txt','r')
print md5.new(f1.read()).digest() == md5.new(f2.read()).digest()

以上处理在处理比较大的文件(比如几百M的文件)的时候会有内存问题。

python的md5模块使用非常简单,包括以下几个函数:

  • md5.new([arg])
    • 返回一个md5对象,如果给出参数,则相当于调用了update(arg)
  • md5.updte(arg)
    • 用string参数arg更新md5对象
  • md5.digest()
    • 返回16字节的摘要,由传给update的string生成,摘要没有ascii字符
  • md5.hexdigest()
    • 以16进制的形式返回摘要

代码示例:

01.
#!/usr/bin/python
02.
import sys
03.
import md5
04.
 
05.
str=sys.argv[1]
06.
key = md5.new()
07.
key.update(str)
08.
print key.hexdigest()
09.
str=sys.argv[1]

保存代码为md.py

1.
[fengyj@fengyj python]$ chmod +x md.py
2.
[fengyj@fengyj python]$ ./md.py fengyajie
3.
74d040444b8f20d37aa9b2bd2997cd64

转载于:https://www.cnblogs.com/pylemon/archive/2011/05/12/2044264.html

你可能感兴趣的文章
NIO编程
查看>>
JQuery 模拟超链接触发
查看>>
【转】利用用Flash Builder 4.5搭建Android 开发平台(附带模拟器)
查看>>
php webservice服务端和客户端的实现
查看>>
Mplayer1.0rc2移植到am335x开发板
查看>>
Centos6.8 Mysql5.6 安装配置教程(转)
查看>>
Oracle(18)—— ORACLE中将查询结果的多列汇聚成一行(WMSYS.WM_CONCAT 函数的用法)...
查看>>
MySql(21)——Linux MySQL用户创建及授权管理
查看>>
关于CSS的一些
查看>>
java中集合类中Collection接口中的Map接口的常用方法熟悉
查看>>
docker搭建elk
查看>>
mac-redis安装与使用
查看>>
讨论下IDS的绕过
查看>>
服务器应用程序不可用
查看>>
POI Sax 事件驱动解析Excel2003文件
查看>>
Java冒泡排序与选择排序的区别
查看>>
Cheatsheet: 2012 04.13 ~ 04.24
查看>>
基本套接字:UDP 客户端/服务器端
查看>>
数组逆序2
查看>>
IPointCollection,ISegmentCollection和IGeometryCollection
查看>>