zoukankan      html  css  js  c++  java
  • 使用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([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

  • 相关阅读:
    算法--枚举策略
    1344 走格子
    1381 硬币游戏
    POJ 2492 A Bug's Life
    零基础学并查集算法
    Codeforces 777C Alyona and Spreadsheet
    HDU 1039 Easier Done Than Said?
    Codeforces 591B Rebranding
    目录书籍
    对话机器学习大神Yoshua Bengio(上)
  • 原文地址:https://www.cnblogs.com/pylemon/p/2044264.html
Copyright © 2011-2022 走看看