如何在没有 "SSID:" 的情况下获取 python 中所有可用的 SSID 名称?

How to get all available SSID names in python without "SSID:"?

好的,我的密码是

results = subprocess.check_output(["netsh", "wlan", "show", "network"])
results = results.decode("ascii") # needed in python 3
results = results.replace("\r","")
ls = results.split("\n")
ls = ls[4:]
ssids = []
x = 0
while x < len(ls):
    if x % 5 == 0:
        ssids.append(ls[x])
    x += 1
print(ssids)

如果变量“ssids”的输出没有在每个项目之前说“SSID(SSID 的数量):”,我怎么能得到它?

运行 这在本地使用 Windows 产生了包含以下示例元素的 results 列表:

['SSID 1 : WYZE_D73596CE021C547F', 'SSID 2 : FiOS-ZLGT4-5G', ...]

因此,如果您想修改 SSID 列表,可以执行以下操作:

ssids = [ssid.split(':',1)[-1].strip() for ssid in ssids]

这是一个列表理解,它遍历现有的 SSID,在冒号上拆分一次并获取最后一个元素,并去除生成的字符串(即删除两端的空格),并将新列表分配给 ssid :

['WYZE_D73596CE021C547F', 'FiOS-ZLGT4-5G', ...]

或者,如果您不想修改 SSID,您可以遍历现有列表并打印每个元素:

for ssid in ssids:
    print(f'{ssid.split(":")[-1].strip()}')