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访问mysql数据库的实现方法(2则示例)
Jan 06 Python
Python Socket传输文件示例
Jan 16 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Numpy之文件存取的示例代码
Aug 03 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
python输出数学符号实例
May 11 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
python中tab键是什么意思
Jun 18 Python
python怎么删除缓存文件
Jul 19 Python
详解python变量与数据类型
Aug 25 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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 身份验证方面的函数
2009/10/11 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
python实现用户登录系统
2016/05/21 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
django初始化数据库的实例
2018/05/27 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
python字典改变value值方法总结
2019/06/21 Python
在python shell中运行python文件的实现
2019/12/21 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
高三政治教学反思
2014/02/06 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
大学新闻系自荐书
2014/05/31 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
毕业横幅标语
2014/10/08 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
谢师宴答谢词
2015/01/05 职场文书
市场总监岗位职责
2015/02/11 职场文书
小学大队委竞选口号
2015/12/25 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
java设计模式--七大原则详解
2021/07/21 Java/Android