业务服务监控
一、文件内容差异对比方法:使用difflib自带模块,无需安装
#!/usr/bin/env python
import difflib
test1 = """ my name is Guo Hdong"""
test1_lines = test1.splitlines() #以行进行分割
test2 = """my name is Guo Yanmei"""
test2_lines = test2.splitlines()
d = difflib.Differ()
diff = d.compare(test1_lines,test2_lines)
print('\n'.join(list(diff)))
执行结果
输出结果符号含义
========================================================================
升级版:输出为html格式
vim diff.py
#!/usr/bin/env python
import difflib
test1 = """ my name is Guo Hdong"""
test1_lines = test1.splitlines() #以行进行分割
test2 = """my name is Guo Yanmei"""
test2_lines = test2.splitlines()
d = difflib.HtmlDiff()
print(d.make_file(test1_lines,test2_lines))
执行脚本并输出html文件
python diff.py > test.html
==========================================================================================================
对比俩个文件的python脚本
vim diff.py
#!/usr/bin/env python
import sys
import difflib
try:
textfile1 = sys.argv[1]
textfile2 = sys.argv[2]
except Exception as e:
print("ERROR:" + str(e))
print("usage: diff.py filename1 filename2")
sys.exit()
def readfile(filename):
try:
fileHandle = open(filename,'r')
text = fileHandle.read().splitlines()
fileHandle.close()
return text
except IOError as error:
print('Read file Error:' + str(error))
sys.exit()
if textfile1 == "" or textfile2 == "":
print("usage: diff.py filename1 filename2")
sys.exit()
text1_lines = readfile(textfile1)
text2_lines = readfile(textfile2)
d = difflib.HtmlDiff()
print(d.make_file(text1_lines,text2_lines))
运行方法:
python diff.py filename1 filename2 > aaa.html
举例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端