进程后期Python的持久化状态
假设我有代码:进程后期Python的持久化状态,python,persistence,recovery,Python,Persistence,Recovery,假设我有代码: if __name__ == "__main__": j = 0 while True: j = j + 1 print j time.sleep(1) 如果ctrl +c,或者如果在运行期间关闭程序窗口,有没有办法在进程结束之前保持进程的状态?然后从它死的那一刻开始恢复进程?如果python中没有,还有其他语言具有此功能吗?Crtl+C。您可以将代码放入try-except块中,并在退出之前处理键盘中断 import
if __name__ == "__main__":
j = 0
while True:
j = j + 1
print j
time.sleep(1)
如果ctrl +c,或者如果在运行期间关闭程序窗口,有没有办法在进程结束之前保持进程的状态?然后从它死的那一刻开始恢复进程?如果python中没有,还有其他语言具有此功能吗?Crtl+C。您可以将代码放入try-except块中,并在退出之前处理键盘中断
import sys
import time
if __name__ == "__main__":
j = 0
try:
while True:
j = j + 1
print(j)
time.sleep(1)
except KeyboardInterrupt:
with open('myprog.dat', 'r') as f:
f.write('j = {}'.format(j))
sys.exit("Data saved!")
您还可以检查数据文件是否存在,并从数据文件中读取以初始化j的值。这会保存一些数据,而不是程序的状态。例如,你不能在程序停止的地方继续程序。你完全正确,这是对op问题的错误回答。效果很好。Windows Idle有一个不错的异常后堆栈查看器。