列出所有无线网络Python for PC

Cod*_*ode 5 python wireless wifi

我试图找出如何列出Python中所有可用的无线网络.我使用的是Windows 8.1.

有没有我可以调用的内置函数,还是通过库?

请告诉我打印列表的代码.

wei*_*dev 10

你会想要subprocess模块和windows命令:

import subprocess
results = subprocess.check_output(["netsh", "wlan", "show", "network"])
Run Code Online (Sandbox Code Playgroud)

获得SSID的额外一点点.

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)
Run Code Online (Sandbox Code Playgroud)

https://docs.python.org/2/library/subprocess.html


GT.*_*GT. 9

这是过去的一个问题,但即使在当时,公认的答案也可能更加Pythonic - 例如,

r = subprocess.run(["netsh", "wlan", "show", "network"], capture_output=True, text=True).stdout
ls = r.split("\n")
ssids = [k for k in ls if 'SSID' in k]
Run Code Online (Sandbox Code Playgroud)

如果您只想在列表中显示 SSID 名称,请将行更改ssids =

ssids = [v.strip() for k,v in (p.split(':') for p in ls if 'SSID' in p)]
Run Code Online (Sandbox Code Playgroud)