Python一起來找茬—difflib模塊
阿新 • • 發佈:2018-09-14
Python一 aabb 不同 nag images 51cto write code pro 模塊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文件,用瀏覽器打開,會顯示兩個文本內容的不同之處 """
第一種方式:
第二種方式:
直接比較兩個文件:
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模塊