您的位置:首页 > 编程语言 > Python开发

使用Python的MD5模块比较两个文件是否一致

2011-05-12 13:28 971 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: