我写了Python脚本来处理大量的大文本文件,并且可能 要花费很多时间
。有时,需要停止正在运行的脚本并在以后恢复它。停止脚本的可能原因是程序崩溃,磁盘空间不足或需要执行此操作的其他原因。我想为脚本实现一种“停止/恢复”机制。
我将使用 pickle 和 信号 模块来实现它。
我将很高兴听到如何以pythonic方式进行操作。
谢谢!
这很简单,希望可以对您有所帮助:
import time
import pickle
REGISTRY = None
def main(start=0):
"""Do some heavy work ..."""
global REGISTRY
a = start
while 1:
time.sleep(1)
a += 1
print a
REGISTRY = pickle.dumps(a)
if __name__ == '__main__':
print "To stop the script execution type CTRL-C"
while 1:
start = pickle.loads(REGISTRY) if REGISTRY else 0
try:
main(start=start)
except KeyboardInterrupt:
resume = raw_input('If you want to continue type the letter c:')
if resume != 'c':
break
运行示例:
$ python test.py
To stop the script execution type CTRL-C
1
2
3
^CIf you want to continue type the letter c:c
4
5
6
7
8
9
^CIf you want to continue type the letter c:
$ python test.py
问题内容: 我用IDLE编写了一个程序来标记文本文件,然后开始标记349个文本文件!我该如何阻止它?如何停止正在运行的Python程序? 问题答案: 要停止程序,只需按 + 。
我写了一个程序在IDLE令牌化文本文件,它开始令牌349文本文件!我怎样才能阻止它?如何停止正在运行的Python程序?
背景: 我有一个运行的python脚本。它包含许多在循环中调用。 如果我按ctrlC,它只是停止执行当前的并传递到下一个。 问题: 如何停止整个脚本的执行,而不仅仅是当前调用的可执行文件的执行? 请注意,我已经仔细阅读了这里的问题/答案,但是即使使用,我也可以杀死可执行文件,但不能杀死整个脚本(我无法使用找到)。 我必须停止脚本(不重新启动系统)的唯一方法是继续在循环中按ctrl C,直到所有测试
我有以下代码,它在while循环中不断检查当前时间,当它最终匹配定义的time\u时,就会在if语句中运行代码。 此外,欢迎提出任何改进建议。 提前感谢您!
安装Jenkins后,我很困惑如何停止/启动Jenkins。使用此脚本在我的终端上进行战争 java-JarJenkins。war-httpPort=8080 原因如果再次运行上述代码,可能是错误原因端口已在使用中。我可以卸载它,但如果我需要Jenkins,我必须卸载它,然后重新安装,这就像浪费时间一样。需要知道如何在不卸载已安装的jenkins的情况下停止/启动命令的人 谢谢
我为浏览器游戏制作了脚本。在这个游戏中,我站着不动,我的脚本在某些地方点击bksononechno,但我需要的是,如果我点击字母,这个脚本将自杀,而不是试图关闭浏览器及其在浏览器中的选项卡和类似的东西。 抱歉出错了。