13

我需要像往常一样运行我的 Python 脚本,但我想在特定行上停止执行并启动交互模式。

换句话说,我希望能够在那时检查所有变量的值,并从那里继续使用 python 的命令行。

我怎样才能做到这一点?

4

4 回答 4

20

这可以通过code模块来完成。最简单的方法是调用code.interact().

于 2012-08-03T13:17:08.010 回答
9

使用调试器并添加断点。你使用 IDE 吗?所有主要的 IDE 都支持调试器。在 CLI 中,您可以使用pdb.

于 2012-08-03T13:17:00.783 回答
5

不完全是您要查找的内容,但是您可以通过在您希望程序中断的任何位置添加此行来轻松地将程序中断为 pdb(Python 调试器):

import pdb; pdb.set_trace()

然后,您可以轻松地检查如下变量:

p variable_name

您还可以步进、继续等。

有关 pdb 的更多详细信息,请点击此处

于 2012-08-03T13:20:05.067 回答
2

除非您需要将其用于生产目的,否则我认为最好的方法是使用交互式调试器:

http://infohost.nmt.edu/tcc/help/pubs/python/web/pdb.html

http://onlamp.com/pub/a/python/2005/09/01/debugger.html

出于其他目的考虑可能对您的代码做方面,使用装饰器从方法类中获取运行时特征:

http://www.cs.tut.fi/~ask/aspects/index.shtml

http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch26.html

于 2012-08-03T13:21:03.303 回答