国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python自動化運維_文件內容差異對比分析

2020-02-16 11:03:41
字體:
來源:轉載
供稿:網友

模塊:difflib

安裝:Python版本大于等于2.3系統自帶

功能:對比文本之間的差異,而且支持輸出可讀性比較強的HTML文檔,與Linux中的diff命令比較相似。

兩個字符串的差異對比:

#import difflib #text1=''' #hello world. #how are you. #nice to meet you. #''' #text1_lines=text1.splitlines() # 以行進行分割,便于進行對比 #text2=''' #Hello World. #how are you! #Nice to meet you~ #''' #text2_lines=text2.splitlines() # 以行進行分割,便于進行對比 #dif1=difflib.Differ() # 創建Differ() 對象 #diff1=dif1.compare(text1_lines,text2_lines) # 采用compare() 方法對字符串進行比較 #print('/n'.join(list(diff1)))

此外difflib 還有SequenceMatcher()類,此類支持任意類型序列的比較;還有HtmlDiff() 類,此類支持將比較結果以HTML格式輸出。

符號含義說明:

符號

含義

'-'

包含在第一個序列行中,但不包含在第二個序列行

'+'

包含在第二個序列行中,但不包含在第一個序列行

' '

兩個序列行一致

'?'

標志兩個序列行存在增量差異

'^'

標志出兩個序列行存在的差異字符

生成HTML格式文檔:

#import difflib#text1=''' #hello world. #how are you. #nice to meet you. #''' #text1_lines=text1.splitlines() # 以行進行分割,便于進行對比 #text2=''' #Hello World. #how are you! #Nice to meet you~ #''' #text2_lines=text2.splitlines() # 以行進行分割,便于進行對比 #d=difflib.HtmlDiff() #print(d.make_file(text1_lines,text2_lines)) # 之后使生成的文件變為 .html即可使用瀏覽器查看

對比配置文件差異:

#import difflib #import os #try: # textfile1=sys.argv[1] # 第1個配置文件路徑參數 # textfile2=sys.argv[2] # 第2個配置文件路徑參數 #except Exception,e: # print('Error:'+str(e)) # print('使用:腳本名.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('讀取文件錯誤:'+str(error)) # sys.exit() #if textfile1=='or textfile2==': # print('使用:腳本名.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自動化運維_文件內容差異對比分析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达拉特旗| 金山区| 库车县| 聊城市| 和田市| 丹凤县| 苍南县| 德阳市| 浑源县| 南宫市| 龙泉市| 左权县| 红河县| 鞍山市| 宣化县| 达尔| 永兴县| 霍林郭勒市| 乳山市| 兰坪| 额尔古纳市| 萨嘎县| 东城区| 长春市| 汶上县| 庆元县| 错那县| 岳阳市| 那坡县| 开江县| 个旧市| 神农架林区| 镇赉县| 无为县| 英吉沙县| 仁化县| 炉霍县| 新泰市| 繁峙县| 行唐县| 德格县|