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 相关文章推荐
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
python网络编程之数据传输UDP实例分析
May 20 Python
使用python实现生成用户信息
Mar 20 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
使用Django搭建网站实现商品分页功能
May 22 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
python中封包建立过程实例
Feb 18 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
python tqdm用法及实例详解
Jun 16 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 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中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
Yii核心验证器api详解
2016/11/23 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
javascript实现yield的方法
2013/11/06 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
Python中的闭包实例详解
2014/08/29 Python
Python实现批量修改文件名实例
2015/07/08 Python
Python解析最简单的验证码
2016/01/07 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
Python批量启动多线程代码实例
2020/02/18 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
Python os库常用操作代码汇总
2020/11/03 Python
如何写好优秀的创业计划书
2014/01/30 职场文书
售房委托书
2014/08/30 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
总经理司机岗位职责
2015/04/10 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python