修改正在运行的python程序

时间:2012-06-25 09:25:01

标签: python on-the-fly

我启动了一个包含许多嵌套循环的python程序,程序将花费数天时间。我刚刚意识到其中一个循环值是错误的并且产生无限循环。

我不想从0重新启动程序,有没有办法打断当前程序并修改循环范围以便它能正常工作,如果它被无限循环捕获而破坏它?

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

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

否则,我没有办法改变这种情况。

答案 1 :(得分:0)

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

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

这将在pdb下运行它。输入pdb后,只需输入命令'c'(继续)。这将开始您的计划。

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

我知道始终在调试器下运行并不是一个好主意,但至少上述内容可以解决您的预期问题。