【发布时间】:2014-11-12 14:25:14
【问题描述】:
尝试使用 python 从 CMD 输出中解析 SSID、BSSID 和 Signal 的值。让我感到困惑的是如何每次获取这三个值以将其存储在列表列表中。我可以像这样对每一行都这样做..
import subprocess, re
cmd = subprocess.Popen('netsh wlan show networks mode=BSSID',
shell=True, stdout=subprocess.PIPE)
for line in cmd.stdout:
if "BSSID" in line:
print re.search(r'([0-9A-F]{2}[:-]){5}([0-9A-F]{2})', line, re.I).group()
但问题是我可以理解这不是一个好习惯。 我想要实现的是在列表中包含 SSID、BSSID 和信号,以便我可以打印列表中的任何信息。例如,打印我的列表中第二个接入点的 BSSID,或APS 中的 AP:打印 SSID。
任何帮助将不胜感激!
【问题讨论】:
-
我尝试修复您的代码块,但看起来仍然不太正确。你能仔细检查你的缩进和换行吗?在同一行的函数调用之后有一个
for语句有点奇怪。 -
for 语句在 Popen 行下!感谢您尝试帮助我!!!
-
您能否举一个
netsh命令的输出示例?否则很难知道要解析什么以及如何解析。 -
当然可以!我创建了一个 pastebin,因为我不熟悉这里的编辑选项(如果存在的话)它就在这里! pastebin.com/Q2RqbaD0谢谢!
标签: python windows cmd wifi netsh