python difflib 模块

本文介绍了如何利用Python中的diff模块来对比两段文本的差异,并以版本控制风格输出结果。此外,还展示了如何生成一个直观的HTML文档来清晰地展示这些差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以使用diff 模块对比文件的差别,然后以版本控制风格输出:

[oracle@pr ~]$ more test.py
import difflib
text1 = """text1:
thi jkn lkml                                                                                    
oop  jk  fsldkm
"""
text1_lines = text1.splitlines()

text2 ="""text2:
thi jkn lknl 
op  jk  fsldkm
"""
text2_lines = text2.splitlines()
d = difflib.Differ()
diff = d.compare(text1_lines,text2_lines)
print '\n'.join(list(diff)) 


执行脚本输出如下:

[oracle@pr ~]$ python test.py     
- text1:
?     ^

+ text2:
?     ^

- thi jkn lkml                                                                                    
+ thi jkn lknl 
- oop  jk  fsldkm
? -

+ op  jk  fsldkm


符号含义说明表:

符号含义说明
 -包含在第一个序列中,但不包含在第二个序列中
 +包含在第二个序列中,但不包含在第一个序列中
标致两个序列行存在增量差异
^标致出两个序列行存在增量差异的字符


二 、生成美观的html 文档格式

[oracle@pr ~]$ more test1.py 
import difflib
text1 = """text1:
thi jkn lkml                                                                                    
oop  jk  fsldkm
"""
text1_lines = text1.splitlines()

text2 ="""text2:
thi jkn lknl 
op  jk  fsldkm
"""
text2_lines = text2.splitlines()
d = difflib.HtmlDiff()
print d.make_file(text1_lines,text2_lines) 


执行脚本: [oracle@pr ~]$ python test1.py > diff.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangliang0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值