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 常用string函数(收藏)
May 30 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
python3爬虫之设计签名小程序
Jun 19 Python
python散点图实例之随机漫步
Aug 27 Python
详解python的argpare和click模块小结
Mar 31 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
python实现操作文件(文件夹)
Oct 31 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
Vue.js数据绑定之data属性
2017/07/07 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python封装shell命令实例分析
2015/05/05 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
深入浅析Python中的迭代器
2019/06/04 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
函授大专自我鉴定
2013/11/01 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
倡议书范文格式
2014/05/12 职场文书
事业单位聘任报告
2015/03/02 职场文书
个人专业技术总结
2015/03/05 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
2016春节放假通知范文
2015/08/18 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server