在Windows下,如果有线网卡和无线网卡同时使用的话,那么重启之后无线网卡将不会自动重新连接重启前的WiFi,每次重启之后需要手动连接,相当繁琐。
因此我需要编写一个连接一个开放(未设置密码)的WiFi程序,这样我打包后就能把它设为开机自启项,然后每次开机时就可以让它自动连接相应的WiFi了。
设为开机自启项可以参考:Windows怎么修改注册表设置开机启动程序
Python源码打包成exe可以参考:解决:如何将Python代码打包成exe可执行程序的问题
另外值得说明的是,pywifi一般用于破解WiFi密码,对于连接WiFi并非最好的选择,如果想要开机时自动连接某个WiFi,那不如写个脚本,参考:windows 通过cmd命令(netsh wlan命令)连接wifi
pywifi官方主页
# 尝试并连接wifi
import pywifi
import time
def isConnected():
if ifaces.status() == pywifi.const.IFACE_CONNECTED:
print("成功连接")
return True
else:
print("失败")
return False
if __name__ == "__main__":
wifi = pywifi.PyWiFi() # 创建一个无线对象
ifaces = wifi.interfaces()[0] # 取一个无限网卡
print(ifaces.name()) # 输出无线网卡名称
ifaces.disconnect() # 断开网卡连接
time.sleep(0.5) # 缓冲0.5秒
profile = pywifi.Profile() # 配置文件
profile.ssid = "PDSU-Student-Auto" # wifi名称
ifaces.remove_all_network_profiles() # 删除其他配置文件
tmp_profile = ifaces.add_network_profile(profile) # 加载配置文件
ifaces.connect(tmp_profile) # 连接
time.sleep(0.5) # 等待0.5秒后看下是否成功连接了
if not isConnected():
time.sleep(5) # 若未成功,等待5秒后再看下是否成功连接了
isConnected()