python如何实现wifi自动连接,解决电脑wifi经常断开问题

 更新时间:2023年06月03日 14:57:22   作者:Achen's  
这篇文章主要介绍了python实现wifi自动连接,解决电脑wifi经常断开的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python实现wifi自动连接,解决电脑wifi经常断开

安装pywifi模块

pywifi依赖comtypes,不安装会报错

pip install pywifi
pip install comtypes

代码

import pywifi
from pywifi import const
import time
def is_connected(wifi_inter):
    if wifi_inter.status() in [const.IFACE_CONNECTED, const.IFACE_INACTIVE]:
        return True
    else:
        return False
def connet_wifi(wifi_inter, wifi_profile):
    wifi_inter.remove_all_network_profiles()  # 删除其它配置文件
    tmp_profile = wifi_inter.add_network_profile(wifi_profile)  # 加载配置文件
    wifi_inter.connect(tmp_profile)
    time.sleep(2)
    if wifi_inter.status() == const.IFACE_CONNECTED:
        return True
    else:
        return False
def set_profile():
    wifi_profile = pywifi.Profile()  # 配置文件
    wifi_profile.ssid = "我的wifi"  # wifi名称
    wifi_profile.auth = const.AUTH_ALG_OPEN  # 需要密码
    wifi_profile.akm.append(const.AKM_TYPE_WPA2PSK)  # 加密类型
    wifi_profile.cipher = const.CIPHER_TYPE_CCMP  # 加密单元
    wifi_profile.key = "1234567"  # wifi密码
    return wifi_profile
if __name__ == '__main__':
    wifi = pywifi.PyWiFi()
    interface = wifi.interfaces()[0]
    profile = set_profile()
    n = 0
    while True:
        if not is_connected(interface):
            print('网络已断开,重新连接中……')
            con = connet_wifi(interface, profile)
            n += 1
            if not con and n <= 3:
                continue
            else:
                res = '成功' if con else '失败'
                print(f'尝试连接{n}次,连接{res}!')
                n = 0
        time.sleep(2)

python实现连接指定的wifi

# -*-coding:utf-8-*-
import pywifi, time
from pywifi import const
# 1、python连接WiFi,需要使用pywifi包,安装pywifi:pip install pywifi
#注意:如果提示找不到comtypes,则还需要安装pip install comtypes
# 2、判断wifi连接状态:
def wifi_connect_status():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]  # acquire the first Wlan card,maybe not
    if iface.status() in [const.IFACE_CONNECTED, const.IFACE_INACTIVE]:
        print("wifi connected!")
        return 1
    else:
        print("wifi not connected!")
    return 0
# 3、扫描wifi:
def scan_wifi():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]
    iface.scan()
    time.sleep(1)
    basewifi = iface.scan_results()
    for i in basewifi:
        print("wifi scan result:{}".format(i.ssid))
        print("wifi device MAC address:{}".format(i.bssid))
    return basewifi
# 4、连接指定的wifi:
def connect_wifi():
    wifi = pywifi.PyWiFi()
    ifaces = wifi.interfaces()[0]
    print(ifaces.name())  # 输出无线网卡名称
    ifaces.disconnect()
    time.sleep(3)
    profile = pywifi.Profile()  # 配置文件
    profile.ssid = "JYKC-31F"  # wifi名称
    profile.auth = const.AUTH_ALG_OPEN  # 需要密码
    profile.akm.append(const.AKM_TYPE_WPA2PSK)  # 加密类型
    profile.cipher = const.CIPHER_TYPE_CCMP  # 加密单元
    profile.key = "2151155511"  # wifi密码
    ifaces.remove_all_network_profiles()  # 删除其它配置文件
    tmp_profile = ifaces.add_network_profile(profile)  # 加载配置文件
    ifaces.connect(tmp_profile)
    time.sleep(5)
    isok = True
    if ifaces.status() == const.IFACE_CONNECTED:
        print("connect successfully!")
    else:
        print("connect failed!")
    time.sleep(1)
    return isok
#5、测试
def main():
    print("start")
    wifi_connect_status()
    scan_wifi()
    connect_wifi()
    print("finish!")
if __name__ == "__main__":
    main()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Anaconda完美解决Python 2与python 3的共存问题

    利用Anaconda完美解决Python 2与python 3的共存问题

    Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu,下面这篇文章主要给大家介绍了利用Anaconda完美解决Python 2与python 3共存问题的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴。
    2017-05-05
  • python实现对arxml文件的操作方法

    python实现对arxml文件的操作方法

    本篇文章给大家介绍python实现对arxml文件的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • python实战之利用pygame实现贪吃蛇游戏(一)

    python实战之利用pygame实现贪吃蛇游戏(一)

    这篇文章主要介绍了python实战之利用pygame实现贪吃蛇游戏,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助哟,需要的朋友可以参考下
    2021-05-05
  • python读取txt文件中特定位置字符的方法

    python读取txt文件中特定位置字符的方法

    今天小编就为大家分享一篇python读取txt文件中特定位置字符的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python+OpenCV实现黑白老照片上色功能

    Python+OpenCV实现黑白老照片上色功能

    我们都知道,有很多经典的老照片,受限于那个时代的技术,只能以黑白的形式传世。尽管黑白照片别有一番风味,但是彩色照片有时候能给人更强的代入感。本文就来用Python和OpenCV实现老照片上色功能,需要的可以参考一下
    2023-02-02
  • python中的正则表达式,贪婪匹配与非贪婪匹配方式

    python中的正则表达式,贪婪匹配与非贪婪匹配方式

    这篇文章主要介绍了python中的正则表达式,贪婪匹配与非贪婪匹配方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算

    Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算

    今天小编就为大家分享一篇关于Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • python SQLAlchemy的Mapping与Declarative详解

    python SQLAlchemy的Mapping与Declarative详解

    这篇文章主要介绍了python SQLAlchemy的Mapping与Declarative详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python之维度dim的定义及其理解使用方式

    Python之维度dim的定义及其理解使用方式

    这篇文章主要介绍了Python之维度dim的定义及其理解使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 如何使用Python中的正则表达式处理html文件

    如何使用Python中的正则表达式处理html文件

    html类型的文本数据内容是由前端代码书写的标签+文本数据的格式,可以直接在chrome浏览器打开,清楚的展示出文本的格式,下面这篇文章主要给大家介绍了关于如何使用Python中的正则表达式处理html文件的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论