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入门篇之字符串
Oct 17 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
Python读取txt某几列绘图的方法
Oct 14 Python
python 异或加密字符串的实例
Oct 14 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
django框架F&Q 聚合与分组操作示例
Dec 12 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
8种常用的Python工具
Aug 05 Python
Django集成MongoDB实现过程解析
Dec 01 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
如何在vscode中安装python库的方法步骤
Jan 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
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
php面向对象值单例模式
2016/05/03 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
php测试kafka项目示例
2020/02/06 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python读取excel表格生成erlang数据
2017/08/26 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
python多线程扫描端口(线程池)
2019/09/04 Python
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
节约能源标语
2014/06/17 职场文书
2014年实验室工作总结
2014/12/03 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Nginx反向代理学习实例教程
2021/10/24 Servers
MySQL 原理与优化之Update 优化
2022/08/14 MySQL