Python:教你如何获取所有可连接的Wifi

441 阅读1分钟

本人已参与【新人创作礼】活动,一起开启掘金创作之路。 本文首发于CSDN

hello,大家好,我是wangzirui32,今天我们来学习使用Python如何获取所有可连接的Wifi,开始学习吧!

1. 命令

这里我以Windows系统为例,在cmd中输入:

C:\Users\wangzirui32>netsh wlan show network

接口名称 : WLAN
当前有 2 个网络可见。

SSID 1 : ChinaNet-J6yW
    Network type            : 结构
    身份验证                : WPA2 - 个人
    加密                    : CCMP

SSID 2 : HUAWEI-liu
    Network type            : 结构
    身份验证                : WPA2 - 个人
    加密                    : CCMP

可以看到,Wifi名称就在SSID后方,我们可以用如下正则表达式进行匹配:

SSID [\d] : (.*?)\n

2. 编写代码

import os
import re

command = "netsh wlan show network"
# 获取命令执行结果
result = os.popen(command)
# 读取返回值
text = result.read()
result.close()

# 匹配Wifi
wifi_list = re.findall(r"SSID [\d] : (.*?)\n", text, re.MULTILINE|re.DOTALL)
# 检测是否有空名称
wifi_list = [i for i in wifi_list if i]

# 循环打印
for i in wifi_list:
    print(i)

输出:

ChinaNet-J6yW
HUAWEI-liu

好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!