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 相关文章推荐
微信 用脚本查看是否被微信好友删除
Oct 28 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
代码分析Python地图坐标转换
Feb 08 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
Python简易版停车管理系统
Aug 12 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
python实现逢七拍腿小游戏的思路详解
May 26 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获取地址栏信息的代码
2008/10/08 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python内存动态分配过程详解
2019/07/15 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
pandas数据拼接的实现示例
2020/04/16 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
圣诞节红领巾广播稿
2014/02/03 职场文书
个人简历求职信范文
2015/03/20 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL