pythonhtml内容比较_Python使用difflib模块比较两个文件内容异同,同时输出html易浏览...
因工作需求,需要對比連個(gè)文件異同,并輸出html格式來對比。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import difflib
def read_file(filename):
try:
with open(filename, 'r') as f:
return f.readlines()
except IOError:
print("ERROR: 沒有找到文件:%s或讀取文件失敗!" % filename)
sys.exit(1)
def compare_file(file1, file2, out_file):
file1_content = read_file(file1)
file2_content = read_file(file2)
d = difflib.HtmlDiff()
result = d.make_file(file1_content, file2_content)
old_str='charset=ISO-8859-1'
new_str='charset=UTF-8'
with open(out_file, 'w') as f:
f.writelines(result.replace(old_str,new_str))
if __name__ == '__main__':
compare_file(r'd:\1\a.log', r'd:\2\a.log', r'd:\result.html')
輸出為一個(gè)result.html文件,打開后已于瀏覽。
還有一種需要,需要手動要檢測的腳本
difflib模塊文件內(nèi)容差異對比
源碼a.py如下:(對比兩個(gè)配置文件差異)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import difflib
import sys
try:
textfile1 = sys.argv[1]
textfile2 = sys.argv[2]
except Exception,e:
print "Error:" +str(e)
print "Usage: python sample3.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()
text1_lines = readfile(textfile1)
text2_lines = readfile(textfile2)
d = difflib.HtmlDiff()
print d.make_file(text1_lines,text2_lines)
用法:
python a.py nginx.conf.v1 nginx.conf.v2 > sample3_diff.html
總結(jié)
以上是生活随笔為你收集整理的pythonhtml内容比较_Python使用difflib模块比较两个文件内容异同,同时输出html易浏览...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类似飞秋的局域网软件_内网视频会议软件系
- 下一篇: python组合数据类型有哪些_Pyth