我需要每隔x秒一次打印一条消息,我需要听用户的输入。如果按“q”,它将杀死程序。

例如

some message
.
. # after specified interval
.
some message
q # program should end

我现在面临的当前问题是raw_input正在阻止,这阻止了我的功能重复该消息。如何获得输入读取和函数并行运行?

编辑:事实证明raw_input没有被阻止。我误解了多线程的工作原理。如果有人偶然发现,我将其留在这里。

最佳答案

您可以使用线程将消息打印到其他线程中。

import threading

t = threading.Timer(30,func,args=[])
t.start()

哪里叫func的频率是30。

func是在其他线程中调用的函数。

而args是使用以下参数调用函数的参数数组

如果您只想调用一个不同的函数,则可以执行
t = threading. Thread(target=func, args=[])
t.start()

这将使func并行运行

关于python - 如何在不阻塞python中的计时器的情况下等待输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32369495/

10-12 02:58