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 切片和range()用法说明
Mar 24 Python
Django中几种重定向方法
Apr 28 Python
简单谈谈Python中的闭包
Nov 30 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
python字典快速保存于读取的方法
Mar 23 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
谈谈Python中的while循环语句
Mar 10 Python
Python with标签使用方法解析
Jan 17 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
python中yield的用法详解
Jan 13 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
Python代码风格与编程习惯重要吗?
Jun 03 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 include,include_once,require,require_once
2008/09/05 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
node.js中的fs.lstatSync方法使用说明
2014/12/16 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
python ssh 执行shell命令的示例
2020/09/29 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
一名女生的自荐信
2013/12/08 职场文书
工程招投标邀请书
2014/01/30 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
React更新渲染原理深入分析
2022/12/24 Javascript