python进行文件对比的方法


Posted in Python onDecember 24, 2018

文件对比是否一致,我们一般采用md5值对比,假如一样,代表文件一致,不一样说明不一致

假如想要详细的对比信息内容,difflib库提供了文件对比的详细信息和结果

1、首先我们查看下md5值的使用方法

我们先建立几个示例文件方便我们参考,文件file1,file1_copy,file2

python进行文件对比的方法

2、file1的内容和file1_copy的内容一致,都为

我是文件hello

为了测试我们的文件一致性

python进行文件对比的方法

3、file2的内容和file1的文件有所区别,内容为:

我是文件world

python进行文件对比的方法

4、接下来就是获取md5的方法,我可以了个公共方法,大家直接调用就好

需要导入包

import os

import hashlib

def get_file_md5(filename):

  if not os.path.isfile(filename):

    return

  md5 = hashlib.md5()

  f = file(filename,'rb')

  while True:

    b = f.read(8096)

    if not b:

      break

    md5.update(b)

  f.close()

  return md5.hexdigest()

然后我们打印下这几个文件的md5值

print 'file1   的md5:%s' % get_file_md5('file1.txt')

print 'file1_copy的md5:%s' % get_file_md5('file1_copy.txt')

print 'file2   的md5:%s' % get_file_md5('file2.txt')

python进行文件对比的方法

5、运行python结果可以看到,file1和file1_copy文件的md5值是一样的,说明这两个文件是一样的,file2和他们不一样

python进行文件对比的方法

6、接下来就是使用difflib详细的对比了,写法如下:

import difflib

import sys

file1 = open('file1.txt', 'U').readlines()

file2 = open('file2.txt', 'U').readlines()

diff = difflib.ndiff(file1, file2)

sys.stdout.writelines(diff)

python进行文件对比的方法

7、运行python结果可以看到,具体两个文件的区别

  我是文件

- hello+ world

python进行文件对比的方法

总结:以上就是本次关于python怎样进行文件对比的操作方法,感谢大家的阅读和对三水点靠木的支持。

Python 相关文章推荐
python uuid模块使用实例
Apr 08 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
python学习教程之使用py2exe打包
Sep 24 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
Python操作mongodb数据库的方法详解
Dec 08 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
Python和Go语言的区别总结
Feb 20 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
python 的topk算法实例
Apr 02 Python
python 实现一个简单的线性回归案例
Dec 17 Python
利用Pycharm连接服务器的全过程记录
Jul 01 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 #Python
详解Python进阶之切片的误区与高级用法
Dec 24 #Python
Python数据抓取爬虫代理防封IP方法
Dec 23 #Python
python3爬虫怎样构建请求header
Dec 23 #Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 #Python
python构建基础的爬虫教学
Dec 23 #Python
Flask之请求钩子的实现
Dec 23 #Python
You might like
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
php去除HTML标签实例
2013/11/06 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
python中使用序列的方法
2015/08/03 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
python使用minimax算法实现五子棋
2019/07/29 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
Python包和模块的分发详细介绍
2020/06/19 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
《狼》教学反思
2014/03/02 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
旅游项目合作意向书
2015/05/08 职场文书
python实现进度条的多种实现
2021/04/29 Python
只用Python就可以制作的简单词云
2021/06/07 Python