使用python指令碼比較兩個檔案的差異內容並輸出到html文件中,可以通過瀏覽器開啟檢視。
對比檔案的差異
python python_diff_file.py -f1 web26.conf -f2 web103.conf
# python 對比函式 -f1 舊檔名 -f2 新檔名
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""1.difflib的htmldiff類建立html**用來展示檔案差異,通過make_file方法
2.make_file方法使用
make_file(fromlines, tolines [, fromdesc][, todesc][, context][, numlines])
用來生成乙個包含**的html檔案,其內容是用來展示差異。
fromlines和tolines,用於比較的內容,格式為字串組成的列表
fromdesc和todesc,可選引數,對應的fromlines,tolines的差異化檔案的標題,預設為空字串
context 和 numlines,可選引數,context 為true時,只顯示差異的上下文,為false,顯示全文,numlines預設為5,
當context為true時,控制展示上下文的行數,當context為false時,控制不同差異的高亮之間移動時「next」的開始位置
3.使用argparse傳入兩個需要對比的檔案
"""import difflib
import argparse
import sys
# 建立開啟檔案函式,並按換行符分割內容
def readfile(filename):
try:
with open(filename, 'r', encoding="utf-8") as filehandle:
text = filehandle.read().splitlines()
return text
except ioerror as e:
print("read file error:", e)
sys.exit()
# 比較兩個檔案並輸出到html檔案中
def diff_file(filename1, filename2):
text1_lines = readfile(filename1)
text2_lines = readfile(filename2)
d = difflib.htmldiff()
# context=true時只顯示差異的上下文,預設顯示5行,由numlines引數控制,context=false顯示全文,差異部分顏色高亮,預設為顯示全文
result = d.make_file(text1_lines, text2_lines, filename1, filename2, context=true)
# 內容儲存到result.html檔案中
with open('result.html', 'w', encoding="utf-8") as resultfile:
resultfile.write(result)
# print(result)
if __name__ == '__main__':
# 定義必須傳入兩個引數,使用格式-f1 filename1 -f2 filename
parser = argparse.argumentparser(description="傳入兩個檔案引數")
git對比分支差異
git log dev master同理檢視 master 中有,而 dev 中沒有的內容 git log master.dev注意,列出來的是兩個點後邊 此處即dev 多提交的內容。同理,想知道 master 比 dev 多提交了什麼 注意 commit 後面的箭頭,根據我們在 left righ...
git撤銷指令和對比差異指令
1.git status 檢視快取區狀態 我們在工作目錄下建立乙個name.txt資料夾。開啟git bash,輸入git status指令 git提示我們建立了name.txt檔案,但是還未進行add操作加入到快取區,所以git目前無法跟蹤。根據提示我們輸入add指令 git add name.t...
資料夾差異檔案對比工具
coding utf 8 created on 2010 4 30 author shiyong import os class compare object 資料夾比較工具 功能 目前只未比較檔案的名稱和大小,未比較md5 def init self constructor 遍歷比較 def vi...