Список всех беспроводных сетей Python для ПК

Я пытаюсь выяснить, как я могу перечислить все доступные беспроводные сети в Python. Я использую Windows 8.1.

Есть ли встроенная функция, которую я могу вызвать, или через библиотеку?

Пожалуйста, покажите мне код, который печатает список.

1 ответ

Решение

Вы будете хотеть subprocess модуль и команда windows:

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

Немного больше, чтобы просто получить 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)

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

Это вопрос из старины, но даже в то время принятый ответ мог быть гораздо более питоническим - например,

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)]

c:\netsh

C:\netsh\wlan

c:\netsh\wlan)Show all

Другие вопросы по тегам