更新如下:
我有一个脚本,它有一个我制作的函数,它可以根据几个因素计算将脚本设置为休眠的时间,这意味着脚本可能不需要再次运行半小时,也可能需要几天时间。
现在,我曾认为 time.sleep(seconds) 会将程序设置为睡眠状态,然后将其唤醒并再次运行。
time.sleep(3600)
runScriptAgain()
显然,这并没有像我想象的那样。当然,大多数事情似乎从来没有像我想的那样,学习的乐趣!
无论如何,一旦我发现脚本永远不会恢复,我就四处寻找其他方法来做到这一点。有人提到过os.exec
,但根据我的(非常有限的)知识,它看起来像是用来从脚本中运行其他东西。然后我尝试了该threading.Timer
功能,但这似乎也没有达到我想要的效果。或者我不知道我在做什么,这更有可能。然后我看到人们提到线程和守护进程以及我根本不知道的事情。
我在想也许是一个 for 循环,但这似乎很业余(锅遇到水壶!),我不确定它甚至会如何工作(如果有的话)。
timeToSleep = SleepValue()
count = 0
while count < timeToSleep:
count + 1
time.sleep(1)
runscript()
那么有没有一种简单的方法可以将脚本设置为停止运行一段特定的时间,再次运行,然后休眠直到下一次?我认为必须有一个非常简单的方法来做到这一点,但我真的不知道。我在使用 Python 3.2.3 的 Windows 7 上,而且我现在才学习 python 几个月,所以任何复杂的东西都可能超出我的技能水平。
更新:
def something():
print('Hello!')
def sleep():
time.sleep(5)
runscript()
def runscript():
something()
sleep()
runscript()
好的,这就是我的代码当前设置的方式。我用这个简单的代码试过了,问题似乎是它永远不会醒来?我不确定发生了什么。我以为它会调用第一个函数,打印项目,然后休眠 5 秒,然后重复 ad naseum。也许有人可以解释我应该怎么做。
谢谢!