python中的difflib


#############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)

 

測試:

 wKiom1ls6IuQ0FR_AAA8yMlrvS0845.png-wh_50

第二種方法

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)

 

 

測試:

 wKioL1ls6JjQpzE_AAD173e4ol4979.png-wh_50

 

文件差別對比

'-' 包含在第一個中,但不包含在第二個中

'+' 包含在第二個中,但不包含在第一個中

' ' 二者相同

'?' 兩個存在增量差別

'^' 標誌出二者行存在的差別字符

相關文章
相關標籤/搜索