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.
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.
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)
This is a question from the olden days, but even at the time the accepted answer could have been much more Pythonic - e.g.,
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]
If you just want to SSID names in a list, change the ssids =
line to
ssids = [v.strip() for k,v in (p.split(':') for p in ls if 'SSID' in p)]
© 2022 - 2024 — McMap. All rights reserved.