关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

Python一起来找茬—difflib模块

发布时间:2022-09-11 23:36:57

模块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模块

另外有需要云服务器可以了解下风纳云fengnayun.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


/template/Home/Dawn/PC/Static

选择风纳云,也许是您成就一番大事业的开端

注册账号