当我在寻找解决方案时,我遇到了这个问题,但它并没有完全符合我的需要:
What is the best way to repeatedly execute a function every x seconds in Python?
这实际上“有效”(或至少是第一个解决方案),但它不允许您与脚本的其余部分同时执行此操作。
基本上,我需要执行这样的函数:
def functionName():
print "text"
我需要这个来执行每一个,比方说,100毫秒。但我需要这个while循环同时循环:
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
我该怎么做?
谢谢!
答案 0 :(得分:3)
不应该这样做:http://www.pygame.org/docs/ref/time.html#pygame.time.set_timer
pygame.init()
pygame.time.set_timer(USEREVENT + 1, 100)
while True:
for event in pygame.event.get():
if event.type == USEREVENT + 1:
functionName()
if event.type == QUIT:
pygame.quite()
sys.exit()
答案 1 :(得分:0)
这可以通过创建一个线程并使用wait()
函数来完成,以便在每个wait()
函数之后打印:)如果您需要有关线程的帮助,请查看官方文档以获取帮助或在溢出时查看/询问不同的问题。干杯:)
答案 2 :(得分:0)
您可以安装函数作为信号处理程序并使用signal.setitimer。如果你在Unix上,那就是......那就是线程和东西。