我正在尝试解析显示以太网状态的日志文件。它在每次更改时都会更新。我正在通过端口号解析日志文件,该端口号被放入一个列表中,然后循环获取每个索引并解析日志文件中的状态。当我运行它时,它会显示端口的每个实例。我正在尝试获取最新的更新线路。有什么想法吗?
f = open('file','r')
delim = "8110"
delim = "5126"
xgiglst = []
giglst = []
def portpars(*args, **kwargs):
global f
global giglst
global xgiglst
with f as f:
for line in f:
if delim1 in line and " " in line:
xgig = line.split(" ")[4]
xgig = xgig.split(":")[1]
xgiglst.append(xgig)
if delim2 in line and " " in line:
gig = line.split(" ")[4]
gig = gig.split(":")[1]
giglst.append(gig)
giglst = list(set(giglst))
giglst.sort()
print(xgiglst)
print(giglst)
def levelpars(*args, **kwargs):
global giglst
global f
global delim2
for i in range(len(giglst)):
search = "port:" + str(i)这就是我被卡住的地方,我做了另一个函数,在文件中再次搜索我的特定端口,但它返回了大约10行,因为端口已经更新。请忽略指纹,这只是为了确保我得到正确的回报。
谢谢,
发布于 2017-12-29 14:37:52
不需要重新打开和读取日志文件,只需对文件执行tail操作即可。如果您不熟悉Unix tail命令,请阅读here。-f标志通常用于文件监控。
我相信在Python中有很多实现。
https://stackoverflow.com/questions/48018287
复制相似问题