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如何实现守护进程的方法示例
Feb 08 Python
使用python存储网页上的图片实例
May 22 Python
Anaconda下安装mysql-python的包实例
Jun 11 Python
python看某个模块的版本方法
Oct 16 Python
python实现海螺图片的方法示例
May 12 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
python SVD压缩图像的实现代码
Nov 05 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
基于python修改srt字幕的时间轴
Feb 03 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
python3实现无权最短路径的方法
May 12 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
信用卡效验程序
2006/10/09 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
php实现求相对时间函数
2015/06/15 PHP
PHP多文件上传实例
2015/07/09 PHP
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
javascript数组排序汇总
2015/07/07 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
python基础教程项目四之新闻聚合
2018/04/02 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
质检部职责
2013/12/28 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
Redis 限流器
2022/05/15 Redis