如何解决继续尝试在 Python 中连接到 WiFi 网络,即使它不可用
我想编写一个脚本,它会不断尝试连接到网络,即使它不可用,以便一旦可用,它就会连接到它。 这就是我现在拥有的
def connect_to_yeelight(ssid,iface):
sys.setrecursionlimit(2000)
iface_channel = f"sudo iwconfig {iface} channel 6"
os.system(iface_channel)
connect_yeelight_cmd = f"nmcli d wifi connect {ssid} ifname {iface} > /dev/null 2>&1"
def try_connection():
if os.system(connect_yeelight_cmd) != 0:
try_connection()
time.sleep(1)
else:
return True
try_connection()
正如您可能使用此代码所知道的那样,我收到了“RecursionError:相比之下超出了最大递归深度”。有没有其他方法可以实现这样的脚本,我觉得我从错误的角度看这个。
解决方法
cmd = ["nmcli","-f","SSID,BSSID,ACTIVE","dev","wifi","list"]
networks = subprocess.Popen(cmd,stdout=subprocess.PIPE)
output,errors = networks.communicate()
print(output.decode("utf-8"))
如果您的 Wi-Fi 在此列表中联机,这将返回所有活动的 Wi-Fi,您可以尝试连接它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。