List All Wireless Networks Python for PC

时间:2015-08-07 01:48:13

标签: python wifi wireless

I am trying to find out how I can list all of the available wireless networks in Python. I am using Windows 8.1.

Is there a built-in function I can call, or through a library?

Please kindly show me the code which prints the list.

3 个答案:

答案 0 :(得分:9)

You'll want the subprocess module and a windows command:

import subprocess
results = subprocess.check_output(["netsh", "wlan", "show", "network"])

A little extra to just get SSID's.

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)

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

答案 1 :(得分:0)

这是一个古老的问题,但是即使在当时,公认的答案也可能是Python风格的,例如

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]

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

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

答案 2 :(得分:-1)

c:\netsh

C:\netsh\wlan

c:\netsh\wlan)Show all