python - 如何在Python中按间隔时间重置循环

标签 python python-2.7 event-loop

假设我想按间隔时间重新启动事件循环,如下所示:

from time import sleep

def event_loop():
    print('Restart')
    while True: # Note :: This is an indefinite loop
        # Process some stuff.
        print("I'm a process")
        sleep(1)

magic_tool(interval_time=5, func=event_loop)

预期结果:

Restart
I'm a process
I'm a process
I'm a process
I'm a process
I'm a process
Restart
I'm a process
I'm a process
I'm a process
I'm a process
I'm a process
Restart
I'm a process
.
.
.
<小时/>

我读到了关于 twistedthreading.Timeapscheduler.scheduler 的内容,但我无法做到这一点。

我想我可以通过async.timeout.timeout()来做到这一点,但我使用的是Python2.7

最佳答案

试试这个:

import threading 

def event_loop():
    print("do_something") 

some_flag=True
while some_flag:
    timer = threading.Timer(2.0, event_loop) 
    timer.start() 

关于python - 如何在Python中按间隔时间重置循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53578980/

相关文章:

python - 检查行(列表列表中)的最后一个元素是否在另一个列表中找到的有效方法?

java - Python 的 re.sub() -> Java

javascript - NodeJs-事件循环只处理 I/O 请求吗?

javascript - 事件循环和Promise有什么关系

python - 在 tkinter 程序上做广告

JavaScript/浏览器 : when does event dispatching exactly happen?

python - 使用 Python 在 quantlib 中为 float 债券定价

python - Ubuntu 16.04 LTS中tensorflow安装错误

python - 打印组合字符串和数字

python - 在附加模式下,我的文件是否在 RAM 中打开?