#############difflib##############html
文件差別對比bash
示例1:ide
import difflib測試
text1 = 'hello westos'spa
text2 = 'hello zhan'htm
text1_lines = text1.splitlines()對象
text2_lines = text2.splitlines()blog
# 建立diff對象字符串
d = difflib.Differ()get
# 採用compare方法對字符串進行比較
diff = d.compare(text1_lines, text2_lines)
# print list(diff)
print '\n'.join(list(diff))
text1='''root:x:0:wfew0:root:/root:/bin/bash
bin:x:1fw:1:bin:/bin:/sbwefwin/nologin
daemon:xw:2:2:daefwmon:/sbin:/sbin/nologin
adm:x:3:4:adwfwfm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
synsfwfsc:x:5:0:sync:/sbin:/bin/sync
shautdowfwfwn:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
'''
text2='''rot:x:0:0:root:/root:/bin/bash
bin:x:1:1:bi:/bin:/sbin/nologindaem
on:x:2:2:daemon:/sbin:/sbin/login
adm:x:3:4:adm:var/adm:/sbin/nolog
lp:x:4:7:lp:/var/spool/lpd:/sbin/nolo
gisync:x:5:0:sync:/sbin:/bin/sync
utdown:x:6:0:shtdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
'''
第一種方法
import difflib
text1_lines=text1.splitlines()
text2_lines=text2.splitlines()
d=difflib.Differ()
a=d.compare(text1_lines,text2_lines)
a=list(a)
print '\n'.join(a)
測試:
第二種方法
import difflib
text1_lines=text1.splitlines()
text2_lines=text2.splitlines()
# d=difflib.Differ()
# a=d.compare(text1_lines,text2_lines)
# a=list(a)
# print '\n'.join(a)
d=difflib.HtmlDiff()
htmldata=d.make_file(text1_lines,text2_lines)
with open('/root/Desktop/data.html','a+') as f:
f.write(htmldata)
測試:
文件差別對比
'-' 包含在第一個中,但不包含在第二個中
'+' 包含在第二個中,但不包含在第一個中
' ' 二者相同
'?' 兩個存在增量差別
'^' 標誌出二者行存在的差別字符