大家好。 我正在尝试设置带有时间的IF函数,它将检查是否有东西在一定时间内起作用,如果它在一定时间内不起作用,则它将重置/重新启动脚本。
if ledBlue.off() >= 10 seconds
command="sudo python3 project-2.py"
但是,我感觉我会改用计数器 但是我绝对不确定该如何处理。
我目前在本节中使用的代码如下:
if failed:
ledBlue.off()
if ledBlue.off() >= 10 seconds
command="sudo python3 project.py"
time.sleep(2)
command="sudo restart service"
os.system(command)
else:
ledBlue.on()
如果我对计时器的想法是正确的,那么我将必须实现一个time.counter()
函数,以查看ledBlue.off()
之前要执行多长时间。
我该如何正确解决这个问题...
我不是要暂停脚本一段时间,而是要查看ledBlue.off()已运行多长时间,如果脚本关闭时间超过10秒钟,请实施一个脚本...
答案 0 :(得分:0)
我已经制作了一个类似的脚本,用于强制打开我孩子的Roku电视。我会整夜保持这种状态,以确保我的孩子晚上不看电视。 (她有TCL Roku电视)。如果我重构代码供您使用,它将看起来像
#import required libs
import keyboard
...
count = 0
while True:
if ledBlue.off() = true
sleep(1)
count += 1
if count == 10:
run_py="sudo python3 project.py"
os.system(run_py)
time.sleep(2)
restart_service="sudo restart service"
os.system(restart_service)
count = 0
elif keyboard.is_pressed('q'):
break
else:
pass
这有点麻烦,但是是的,知道ledBlue()
中的方法可以用来优化它。我添加了键盘库,因为此脚本将继续运行,因此您可以按“ q”以退出循环。
这是我的原始代码:
def DenyRemote(self):
state = self.device_pw_state()
while True:
sleep(10)
if state == "PowerOn":
self.roku._post('/keypress/Power')
elif keyboard.is_pressed('q'):
break
else:
pass