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设置windows桌面壁纸的实现代码
Jan 28 Python
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
Aug 22 Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 Python
Python中转换角度为弧度的radians()方法
May 18 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
在Python中使用gRPC的方法示例
Aug 08 Python
python基于SMTP协议发送邮件
May 31 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 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+jQuery 注册模块开发详解
2014/10/14 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
JsRender for object语法简介
2014/10/31 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
js实现网页随机验证码
2020/10/19 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
Python正则表达式介绍
2012/08/06 Python
Python映射拆分操作符用法实例
2015/05/19 Python
Python实现图像几何变换
2015/07/06 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
法定代表人身份证明书(含说明)
2014/10/02 职场文书
商务考察邀请函模板
2015/02/02 职场文书
支教个人总结
2015/03/04 职场文书
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题