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中使用Inotify监控文件实例
Feb 14 Python
Python实现的单向循环链表功能示例
Nov 10 Python
python批量替换页眉页脚实例代码
Jan 22 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
详解Python sys.argv使用方法
May 10 Python
Python实现Linux监控的方法
May 16 Python
python turtle库画一个方格和圆实例
Jun 27 Python
python实现ftp文件传输功能
Mar 20 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
python3实现常见的排序算法(示例代码)
Jul 04 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
神族 Protoss 历史背景
2020/03/14 星际争霸
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
解析php中的escape函数
2013/06/29 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
销售文员的岗位职责
2013/11/20 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
小学综合实践活动总结
2014/07/07 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
信息技术研修心得体会
2016/01/08 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL