10

我启动了一个带有许多嵌套循环的 python 程序,该程序需要几天时间。我刚刚意识到其中一个循环值是错误的并形成了一个无限循环。

我不想从零开始重新启动程序,有没有办法中断当前程序并修改循环范围,以便它可以正常工作,如果它被无限循环困住来打破它?

非常感谢您的帮助。

4

2 回答 2

1

如果程序不时保存其状态或结果,您可以添加一个跳过已经执行的步骤的逻辑。

否则,我看不到改变这一点的方法。

于 2012-06-25T09:32:02.450 回答
0

我想很老的文章,但现在才看到。如果您仍想尝试,您可以执行以下操作:

使您的脚本在 pdb 下运行为: python -m pdb

这将在 pdb 下运行它。输入 pdb 后,只需输入命令“c”(继续)。这将开始您的程序。

当您遇到无限循环时,只需执行 ctrl+c 这将在调试器中停止程序。现在你可以运行任何你想要的 python 语句。可能您还可以定义一个新脚本导入它并从该脚本运行函数或退出。

我知道总是在调试器下运行不是一个好主意,但至少上面可以解决你想要的。

于 2013-03-20T21:51:13.107 回答