2012-06-25 44 views
9

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

我不想从零开始重新编程,有没有办法中断当前的程序并修改循环范围,这样它就可以正常工作,并且如果它被无限循环困住,它也会被破坏吗?

非常感谢您的帮助。

+2

查看[这里](http://wiki.python.org/moin/DebuggingWithGdb)获取一些提示。 – georg

回答

1

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

否则,我没有看到改变这种情况的方法。

0

我猜这篇文章很漂亮,但现在刚刚碰到。如果你仍然想尝试,你可以做到以下几点:

使你的脚本在运行PDB为: 蟒蛇-m PDB

这将运行在PDB。输入pdb后,只需输入命令'c'(继续)。这将开始你的程序。

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

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