Python一起来找茬—difflib模块

发布时间:2020-08-22 01:27:08 作者:长安223
来源:网络 阅读:1546

模块difflib

比较并找出两个文本内容的不同

import difflib

text1="""1. Beautiful is better than ugly.
2. Explicit is better than implicit.
3. Simple is better than complex.
4. Complex is better than complicated.
""".splitlines(keepends=True)

text2="""1. Beautiful is better than ugly.
3.   Simple is better than complex.
4. Complicated is better than complex.
5. Flat is better than nested.
""".splitlines(keepends=True)

#第一种方式:
d = difflib.Differ()
result = list(d.compare(text1,text2))
result = ''.join(result)
print(result)
"""
运行结果以文本行方式显示,不容易理解
"""

#第二种方式:
d = difflib.HtmlDiff()
with open('diffirent.html','w') as f:
    f.write(d.make_file(text1,text2))
"""
生成一个html文件,用浏览器打开,会显示两个文本内容的不同之处
"""

第一种方式:
Python一起来找茬—difflib模块
第二种方式:
Python一起来找茬—difflib模块

直接比较两个文件:

import difflib

file1 = '/etc/passwd'
file2 = '/tmp/passwd'

with open(file1) as f1,open(file2) as f2:
    text1 = f1.readlines()
    text2 = f2.readlines()

d = difflib.HtmlDiff()
with open('passwd.html','w') as f:
    f.write(d.make_file(text1,text2))

Python一起来找茬—difflib模块

Python一起来找茬—difflib模块

推荐阅读:
  1. Python标准库Difflib有坑? —— 两个方法快速提升数据对比效率
  2. python 标准模块之json 模块

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

difflib 模块 %d

上一篇:c++编程学习的技巧总结

下一篇:dynamic动态分发,unsafeBitCast,自动调用的闭包-设置时,会设置一个KVO监听

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》