【问题标题】:Terminate Python Program, but Recover Data终止 Python 程序,但恢复数据
【发布时间】:2014-02-23 04:16:41
【问题描述】:

我的模拟运行效率低下(它已经运行了大约 24 小时)。

它可以分成3个独立的部分,所以我想取消模拟,并开始一个更高效的模拟,但仍然恢复已经为第一部分计算的数据。

例如,当程序中发生错误时,您仍然可以访问脚本正在处理的数据,并检查它以查看哪里出了问题。

有没有办法在不丢失数据的情况下手动终止进程?

【问题讨论】:

  • 这取决于您对数据进行评分的方式和位置以及脚本的外观,但如果您从命令行使用 -i 选项启动脚本,您将返回异常后的python shell,应该能够从那里手动检查堆栈。
  • 我正在使用 IDLE。数据只是存储在一个列表中。
  • 只需将数据写入文件并在每个条目写入文件后刷新它。杀死 python 解释器后,该文件包含到目前为止编写的所有内容。
  • 如果程序已经在运行,我该怎么做? (注意……我对 Python 还是很陌生)。

标签: python terminate recovery


【解决方案1】:

您可以在单独的会话中启动诸如 winpdb 之类的调试器或多个 IDE 调试器中的任何一个,附加到正在运行的进程,(这会停止它),在具有访问您的数据,继续直到您到达断点,然后将您的数据保存到文件中,然后您的新进程可以加载该数据作为起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多