我正在做一个模拟,我需要运行一个昼夜循环。以下是负责循环的功能:
def epoch():
print("it is now day")
time.sleep(varb.day_night_length)
print("it is now night")
time.sleep(varb.day_night_length)
(varb
是我制作的一个全局模块的名称,是一个决定白天或夜晚长度的值)
问题是我不想让这个函数在程序停止时负责(使for循环无用)。我不希望它是无限的,所以while循环很麻烦。我希望能够平稳运行,而不需要停止用户输入。有没有一个简单的方法可以做到这一点?在
编辑:我意识到如果我不能返回它的状态,这个循环就没有用了。我怎样才能不停止循环呢?在
编辑:找到了我需要的。对于未来的读者来说,你必须使用yield。它的用法与return的用法完全相同,只是使用了yield这个词。在
谢谢大家!在
我推荐
threading
。它打开了一个独立于其余代码的新线程,这意味着它不会停止循环。在尝试以下几行:
这里是一个使用Unix信号的快速而肮脏的概念证明。在
演示:
^{pr2}$我也试过相应的
setitimer
东西,但没能很快让它发挥作用。。。不管怎么说,所有这些都只是U*x。在相关问题 更多 >
编程相关推荐