difflib模組 difflib模組對比檔案差異

2021-10-22 13:45:47 字數 772 閱讀 8445

#!/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().splitlines()

filehandle.close()

return text

if file1 == "" or file2=="":

print "usage: test.py filename1 filename2"

sys.exit()

text1_lines = readline(file1)

text2_lines = readline(file2)

d = difflib.htmldiff()

print d.make_file(text1_lines,text2_lines)

其實這個的意思,實際上就是把兩個檔案分割,然後進行對比輸出:

執行對比命令如下:生成乙個html檔案:

[root@mail test]# python diff.py saltapi.py saltapi1.py >diff.html

開啟html檔案有如下顯示:

difflib模組之文字對比

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

difflib模組之文字對比

用法說明 splitlines 按照行 r r n n 分隔,返回乙個包含各行作為元素的列表,如果引數 keepends 為 false,不包含換行符,如果為 true,則保留換行符。difflib.differ 用於過濾函式 或none 預設值是none d.compare a,b 比較兩個行序列...

Python中的內建difflib模組

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