我启动了一个带有许多嵌套循环的 python 程序,该程序需要几天时间。我刚刚意识到其中一个循环值是错误的并形成了一个无限循环。
我不想从零开始重新启动程序,有没有办法中断当前程序并修改循环范围,以便它可以正常工作,如果它被无限循环困住来打破它?
非常感谢您的帮助。
我启动了一个带有许多嵌套循环的 python 程序,该程序需要几天时间。我刚刚意识到其中一个循环值是错误的并形成了一个无限循环。
我不想从零开始重新启动程序,有没有办法中断当前程序并修改循环范围,以便它可以正常工作,如果它被无限循环困住来打破它?
非常感谢您的帮助。
如果程序不时保存其状态或结果,您可以添加一个跳过已经执行的步骤的逻辑。
否则,我看不到改变这一点的方法。
我想很老的文章,但现在才看到。如果您仍想尝试,您可以执行以下操作:
使您的脚本在 pdb 下运行为: python -m pdb
这将在 pdb 下运行它。输入 pdb 后,只需输入命令“c”(继续)。这将开始您的程序。
当您遇到无限循环时,只需执行 ctrl+c 这将在调试器中停止程序。现在你可以运行任何你想要的 python 语句。可能您还可以定义一个新脚本导入它并从该脚本运行函数或退出。
我知道总是在调试器下运行不是一个好主意,但至少上面可以解决你想要的。