我想写一个脚本,在其中它不断尝试连接到一个网络,即使它不可用,所以一旦它变得可用,它将连接到它。 这就是我现在拥有的
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:比较中超过了最大递归深度”。有没有其他方法可以实现这样的脚本,我觉得我从一个错误的角度看这个
这将返回所有活动的Wi-Fi。如果您的Wi-Fi在此列表中联机,您可以尝试连接到它
首先可以使用sleep()或schedule功能来实现函数的连续调用
我编写了一个函数,用于执行控制台命令并返回输出:
现在,如果wifi可用,您只需要一个连接您的功能。请注意,每10到20秒只能调用
nmcli rescan function
,否则下次它将拒绝扫描任何内容。这就是为什么我建议使用iw module
进行扫描现在你只要经常打电话就行了。。。。e、 g:
相关问题 更多 >
编程相关推荐