尝试使用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和Signal,这样我就可以打印列表中的任何信息。例如,从我的列表中打印第二个接入点的BSSID,或者对于APS中的AP:print SSID。在
任何帮助都将不胜感激!在
以下是如何将输出解析为字典列表:
在原始代码中,您还使用了
.group()
,它将返回行的全部匹配部分。在您可以使用带位置参数的
group()
从regex中获取该组。例如,group(2)
将返回regex中的第二项([0-9A-F]{2})
。在要返回可以附加到列表中的项的元组,只需使用
groups()
。在例如,假设您的正则表达式是正确的,请更改此部分
在上面的mylist之后,我的列表将包含一个元组列表,其中包含每一行的摘录。在
相关问题 更多 >
编程相关推荐