python—difflib内置模块之文本对比

本文介绍了Python的difflib模块,用于对比文本差异,并能生成可读性强的HTML文档。通过示例展示了如何比较文本、生成差异结果文本以及创建HTML差异比较页面。内容包括按行分割文本、生成差异对象、对比文件并输出HTML差异页面。
摘要由CSDN通过智能技术生成

difflib模块

difflib为python的标准库模块,无需安装。作用时对比文本之间的差异。并且支持输出可读性比较强的HTML文档,与Linux下的diff 命令相似。

difflib模块提供的类和方法用来进行序列的差异化比较,它能够比对文件并生成差异结果文本或者html格式的差异化比较页面,
1、对比文件生成差异结果文本

生成的差异文本中的符号解释:
在这里插入图片描述
1 先将文本内容按行分割
f1 = splitlines(keepends=True) # 将多行文本按行分隔,返回一个列表,保留行尾换行符
f2 = splitlines(keepends=False) # 将多行文本按行分隔,返回一个列表,不保留行尾换行符
2 生成差异结果文件
import difflib # 导入模块
diff = difflib.Differ() # 生成差异对象
result = diff.compare(f1,f2) # 使用差异对象比较两个文本列表,生成差异结果对象
生成的差异对象不能直接查看,需要转化成列表并连接成文本

示例:
passwd1 :
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync

passwd2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值