【发布时间】:2012-04-03 21:19:14
【问题描述】:
我正在尝试找出如何从该文本文件中获取每个 AP 行上的客户端数量,这对于具有“客户端数量”关联的那些似乎很好(在下一个行),但您可以查看是否没有客户端与之关联,它不会打印客户端数量。
我无法弄清楚检查下一行以查看是否存在“客户端数量”的逻辑,然后返回当前行。如果它存在,它应该继续到下一行并获取客户编号。如果没有“客户端数量”行,我正在尝试将客户端设置为 0。
我有一个包含以下内容的文件:
无线细节.txt
RUDY>show wireless ap detail on AP1 | include clients
RUDY>show wireless ap detail on AP2 | include clients
Num of clients : 8
RUDY>show wireless ap detail on AP3 | include clients
Num of clients : 21
RUDY>show wireless ap detail on AP4 | include clients
RUDY>show wireless ap detail on AP5 | include clients
Num of clients : 2
现在我有以下内容:
for line in file:
if "AP" in line:
ap = re.search('AP[0-99]+', line)
print ap.group(0),
elif "Num of clients" in line:
clients = re.search('[0-99]+', line)
print '- ' + clients.group(0)
它当前打印以下内容:
AP1 AP2 - 8
AP3 - 21
AP4 AP5 - 2
AP6 - 5
AP7 - 2
AP8 - 5
AP9 - 5
让它检查下一行以查看 AP 是否应设置为 0 个客户端的最佳方法是什么?
编辑:FWIW - 我正在尝试 file.next() 读取下一行,这似乎有效,但我无法回到上一行:/
编辑#2:我希望我能投票给你们所有人。谢谢大家!难以置信有这么多方法可以做到,我想不出其中一种!!!!
【问题讨论】:
-
我建议您使用它可能具有的编程接口之一来查询您的无线控制器平台,例如SNMP、XML-RPC/SOAP。然后你可以绘制关联计数。
-
嗨,马特,我最初尝试通过 SNMP 进行,但关联计数的查询是通过控制器列出的,并且我没有分配给 AP 的 IP。 :(