因工作需求,需要对比连个文件异同,并输出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‘)
输出为一个result.html文件,打开后已于浏览。
参考:Python--比较文件内容
python使用difflib对比文件示例
Python自动化运维笔记(四):使用difflib模块实现文件内容差异对比
原文地址:http://blog.51cto.com/weiruoyu/2340086
时间: 2024-10-12 21:07:29