有没有办法在运行过程中暂停代码?



你如何处理在任何给定时刻必须暂停代码的代码。例如,您可能正在从服务器读取文件,并且服务器将重新启动;您可能希望暂停代码,以便它停止尝试从服务器读取文件。如果您已经运行了很长时间,您也不想重新运行代码。有没有办法在 python 中暂停代码一段时间?

我到处调查,找不到任何解决方案。 提到的解决方案很少。

raw_input(") :如果您正在读取数百万个文件,我认为您不希望每次到达这部分代码时都手动输入。

sleep():你不知道什么时候暂停代码以及暂停多长时间,所以我认为这行不通。

我可以实施什么来解决这个问题?

谢谢

我知道您没有看到任何代码片段,我很抱歉没有任何代码片段。我一直在思考这个问题,并试图找到一个解决方案,以防将来出现这个问题。

我不知道这将如何影响效率方面,但你不能在 while 循环或类似的东西中使用 sleep() 吗? 如,

while not condition: sleep(100)

或者只是,

while not condition: pass

我过去所做的是让我的脚本定期检查某处是否存在stop文件,当您想要暂停时可以手动将其放在那里。

因此,对于这个人为的无限 while 循环示例,脚本会检查文件,如果存在,它会进入睡眠循环并继续每秒检查一次。当文件消失时,主循环将继续

import time, os.path
while True: # Main processing loop
while os.path.exists('path/to/file'):
time.sleep(1)
# Do processing stuff
# here

这是一个有点丑陋的黑客,但易于实现。

最新更新