什麼是difflib? 用來做什麼?
difflib為python的標準庫模組,無需安裝。2符號理解作用是對比文字之間的差異。
並且支援輸出可讀性比較強的html文件,與linux下的diff命令相似。
在版本控制方面非常有用。
符號含義
『-』包含在第乙個系列行中,但不包含第二個。
『+』包含在第二個系列行中,但不包含第乙個。
』 』兩個系列行一致
『?』存在增量差異
『^』存在差異字元
文字:
import difflib
text1 =
''' 1. beautiful is better than ugly.
2. explicit is better than implicit.
3. ****** is better than complex.
4. complex is better than complicated.
'''.splitlines(keepends=
true
)text2 =
''' 1. beautiful is better than ugly.
3. ****** is better than complex.
4. complicated is better than complex.
5. flat is better than nested.
'''.splitlines(keepends=
true
)# d = difflib.differ()
# print(''.join(list(d.compare(text1,text2))))
d = difflib.htmldiff(
)htmlcontent = d.make_file(text1,text2)
# print(htmlcontent)
with
open
('diff.html'
,'w'
)as f:
f.write(htmlcontent)
import difflib
filename1 =
'/tmp/passwd'
filename2 =
'/tmp/passwd1'
with
open
(filename1)
as f1,
open
(filename2)
as f2:
content1 = f1.read(
).splitlines(keepends=
true
) content2 = f2.read(
).splitlines(keepends=
true
)d = difflib.htmldiff(
)htmlcontent = d.make_file(content1,content2)
with
open
('passwddiff.html'
,'w'
)as f:
f.write(htmlcontent)
difflib模組之文字對比
用法說明 splitlines 按照行 r r n n 分隔,返回乙個包含各行作為元素的列表,如果引數 keepends 為 false,不包含換行符,如果為 true,則保留換行符。difflib.differ 用於過濾函式 或none 預設值是none d.compare a,b 比較兩個行序列...
difflib模組 difflib模組對比檔案差異
usr bin env python import difflib import sys file1 sys.ar 1 file2 sys.ar 2 def readline filename filehandle open filename,rb text filehandle.read spli...
python的difflib模組之文字對比
什麼是difflib?用來做什麼?difflib為python的標準庫模組,無需安裝。作用是對比文字之間的差異。並且支援輸出可讀性比較強的html文件,與linux下的diff命令相似。在版本控制方面非常有用。符號理解 符號 含義 包含在第乙個系列行中,但不包含第二個。包含在第二個系列行中,但不包含...