如何获得我的计算机可以使用 Python 看到的所有 WLAN 的列表?

How can I get a list of all WLANs my computer can see with Python?

我试过以下方法:

#!/usr/bin/env python

import NetworkManager


def get_ssids():
    ssids = []
    for x in NetworkManager.Settings.ListConnections():
        conn = x.GetSettings()
        if '802-11-wireless' in conn and 'ssid' in conn['802-11-wireless']:
            ssids.append(conn['802-11-wireless']['ssid'])
            logging.info(conn)
    return ssids


def main():
    print("Found the following SSIDs:")
    for ssid in get_ssids():
        print("* %s" % ssid)


if __name__ == '__main__':
    main()

但这显示了我连接到的所有网络的 SSID,而不是我当前看到的网络的 SSID。

此处所述库的作者:-)

import NetworkManager

for dev in NetworkManager.NetworkManager.GetDevices():
    if dev.DeviceType != NetworkManager.NM_DEVICE_TYPE_WIFI:
        continue
    for ap in dev.SpecificDevice().GetAccessPoints():
        print ap.Ssid