Python difflib對比配置檔案差異指令碼

2021-09-19 21:33:18 字數 911 閱讀 2129

import difflib

import sys

try:

textfile1=sys.ar**[1] #第乙個配置檔案路徑引數

textfile2=sys.ar**[2] #第二個配置檔案路徑引數

except exception,e:

print "error:"+str(e)

print "usage: ******3.py filename1 filename2"

sys.exit()

def readfile(filename): #檔案讀取分隔函式

try:

filehandle = open (filename, 'rb' )

text=filehandle.read().splitlines() #讀取後以行進行分隔

filehandle.close()

return text

except ioerror as error:

print('read file error:'+str(error))

sys.exit()

if textfile1=="" or textfile2=="":

print "usage: ******3.py filename1 filename2"

sys.exit()

text1_lines = readfile(textfile1) #呼叫readfile函式,獲取分隔後的字串

text2_lines = readfile(textfile2)

d = difflib.htmldiff() #建立htmldiff()類物件

print d.make_file(text1_lines, text2_lines) #通過make_file方法輸出html格式的比對結果

執行如下**:

python difflib檔案對比

什麼是difflib?用來做什麼?difflib為python的標準庫模組,無需安裝。用於對比文字之間的差異。並且支援輸出可讀性比較強的html文件,與linux下的diff 命令相似。在版本控制方面非常有用。符號理解符號 含義 包含在第乙個系列行中,但不包含第二個。包含在第二個系列行中,但不包含第...

python difflib檔案對比

什麼是difflib?用來做什麼?difflib為python的標準庫模組,無需安裝。用於對比文字之間的差異。並且支援輸出可讀性比較強的html文件,與linux下的diff 命令相似。在版本控制方面非常有用。符號含義 包含在第乙個系列行中,但不包含第二個。包含在第二個系列行中,但不包含第乙個。兩個...

python difflib模組示例講解

difflib模組提供的類和方法用來進行序列的差異化比較,它能夠比對檔案並生成差異結果文字或者html格式的差異化比較頁面,如果需要比較目錄的不同,可以使用filecmp模組。class difflib.sequencematcher 此類提供了比較任意可雜湊型別序列對方法。此方法將尋找沒有包含 垃...