gpt4 book ai didi

python - 等待用户输入或按定义的时间间隔运行的程序?

转载 作者:太空狗 更新时间:2023-10-30 02:19:27 28 4
gpt4 key购买 nike

我目前有一个定期运行的程序。现在程序连续运行,每 30 分钟检查一次新文件:

def filechecker():
#check for new files in a directory and do stuff

while True:
filechecker()
print '{} : Sleeping...press Ctrl+C to stop.'.format(time.ctime())
time.sleep(1800)

但是,我还希望用户能够来到终端并输入一个击键以手动调用 filechecker(),而不是等待程序从 sleep 中醒来或不得不重新启动程序。这可能吗?我试图查看使用线程,但我真的无法弄清楚如何将计算机从 sleep 中唤醒(我对线程没有太多经验)。

我知道我可以轻松做到:

while True:
filechecker()
raw_input('Press any key to continue')

完全手动控制,但我希望我的蛋糕也能吃。

最佳答案

您可以在 KeyboardInterrupt 中使用 try/except block (这是在 time.sleep() 中使用 Ctrl-C 得到的结果。然后在 except 中,询问用户是否要退出或立即运行 filechecker。喜欢:

while True:
filechecker()
try:
print '{0} : Sleeping...press Ctrl+C to stop.'.format(time.ctime())
time.sleep(10)
except KeyboardInterrupt:
input = raw_input('Got keyboard interrupt, to exit press Q, to run, press anything else\n')
if input.lower() == 'q':
break

关于python - 等待用户输入或按定义的时间间隔运行的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858100/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com