平时我们连 WiFi 都是手动操作:找到 WiFi 名称、输入密码、点击连接。但如果想让这个过程自动化(比如做 WiFi 连接测试、批量管理 WiFi),用几行 Python 代码就能实现。今天就用pywifi库写一个简单的自动连 WiFi 小程序,新手也能看懂、能用!一、准备工作:安装必要的库
这个程序依赖pywifi库(专门操作 WiFi 的 Python 库),首先要安装它。打开电脑的命令提示符(CMD) 或终端,输入下面的命令:
⚠️ 小提醒:这个库主要适配 Windows 系统,Mac/Linux 可能有兼容性问题哦。二、完整代码 + 逐行解析
先贴出完整代码,再一步步解释核心逻辑,保证新手能看明白每一行的作用:
# 导入需要的库:pywifi(操作WiFi)、time(等待)、sys(获取命令行输入)import pywifiimport timeimport sysfrom pywifi import const # 导入pywifi的常量(比如WiFi连接状态)def main(): # 1. 创建WiFi操作对象,相当于“控制WiFi的总开关” wifi = pywifi.PyWiFi() # 2. 获取电脑的第一个无线网卡(一般电脑只有1个无线网卡) ifaces = wifi.interfaces()[0] # 3. 先断开当前连接的WiFi(避免和新连接冲突) ifaces.disconnect() # 4. 等待1秒,确保断开操作完成(电脑操作需要一点反应时间) time.sleep(1) # 5. 检查当前网卡的状态(是否断开) wifistatus = ifaces.status() # 6. 如果网卡处于断开状态,才继续后续操作 if wifistatus == const.IFACE_DISCONNECTED: # 7. 扫描周边所有WiFi信号(像手机搜WiFi一样) ifaces.scan() # 8. 等待2秒,让扫描结果加载完成 time.sleep(2) # 9. 获取扫描到的所有WiFi列表 SSIDS = ifaces.scan_results() # 10. 从命令行获取要连接的WiFi名称和密码(不用在代码里硬改) ssid = sys.argv[1] # 第1个参数:WiFi名称 pswd = sys.argv[2] # 第2个参数:WiFi密码 # 11. 遍历扫描到的WiFi,找到我们要连接的那个 for SSID in SSIDS: if SSID.ssid == ssid: # 匹配到目标WiFi # 12. 创建WiFi连接配置(相当于填“连接表单”) profile = pywifi.Profile() profile.ssid = SSID.ssid # 填WiFi名称 profile.auth = const.AUTH_ALG_OPEN # 认证方式(默认开放) profile.akm.append(const.AKM_TYPE_WPA2PSK) # 加密方式(家用WiFi最常用) profile.cipher = const.CIPHER_TYPE_CCMP # 加密算法 profile.key = pswd # 填WiFi密码 # 13. 清空旧的WiFi配置(避免干扰) ifaces.remove_all_network_profiles() # 14. 添加新的WiFi配置到网卡 tep_profile = ifaces.add_network_profile(profile) # 15. 尝试连接这个WiFi ifaces.connect(tep_profile) # 16. 等待5秒,让连接过程完成 time.sleep(5) # 17. 检查连接结果 if ifaces.status() == const.IFACE_CONNECTED: print("Link:OK") # 连接成功 return # 结束程序 else: print("WifiPassword:NG") # 密码错误 return # 结束程序 # 18. 没找到目标WiFi/网卡未断开,提示连接失败 print("Link:NG")# 程序入口:运行代码时自动执行main函数if __name__ == "__main__": main()
核心逻辑简化理解
你可以把这个程序想象成 “模拟手动连 WiFi” 的过程:
- 先关掉当前连的 WiFi → 2. 搜周边所有 WiFi → 3. 找到要连的那个 → 4. 填密码和配置 → 5. 点击连接 → 6. 看连没连上。
三、怎么使用这个程序?
- 把代码保存为
wifi_connect.py(名字随便,后缀必须是.py); - 打开命令提示符(CMD),切换到代码保存的文件夹(比如代码在桌面,输入
cd Desktop); - 输入运行命令(替换成你的 WiFi 名称和密码):
python wifi_connect.py "你的WiFi名称" "你的WiFi密码"
四、小提醒
- 代码默认支持 “WPA2-PSK” 加密的 WiFi(家用 WiFi 基本都是这个),其他加密方式需修改
AKM_TYPE参数; - 如果报错 “找不到网卡”,试试把
wifi.interfaces()[0]改成[1](可能有多个网卡)。
总结
- 这个程序核心是通过
pywifi库操作无线网卡,实现 “扫描→匹配→连接→验证” 的自动 WiFi 连接流程; - 使用前需安装
pywifi库,运行时通过命令行传入 WiFi 名称和密码,无需修改代码;关键逻辑是创建Profile(WiFi 配置文件),填好名称、密码、加密方式后,让网卡执行连接操作。