北风留影 发表于 2015-4-26 08:32:03

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

  
在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()

[*]返回一个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
06.key = md5.new()
07.key.update(str)
08.print key.hexdigest()
09.str=sys.argv  保存代码为md.py



1.$ chmod +x md.py
2.$ ./md.py fengyajie
3.74d040444b8f20d37aa9b2bd2997cd64
页: [1]
查看完整版本: 使用Python的MD5模块比较两个文件是否一致