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 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Python实现选择排序
Jun 04 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
django框架自定义用户表操作示例
Aug 07 Python
对python中if语句的真假判断实例详解
Feb 18 Python
python 使用while循环输出*组成的菱形实例
Apr 12 Python
Python importlib动态导入模块实现代码
Apr 16 Python
python 根据列表批量下载网易云音乐的免费音乐
Dec 03 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 Python
 python中的元类metaclass详情
May 30 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 $_ENV为空的原因分析
2009/06/01 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php表单提交实例讲解
2015/11/12 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
php表单处理操作
2017/11/16 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python实现打砖块游戏
2020/02/25 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
西安交大自主招生自荐信
2014/01/27 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
毕业生学校组织意见
2015/06/04 职场文书