python - 我可以在正在运行的 Python 程序中放置一个断点,该程序会下降到交互式终端吗?

标签 python

我不确定我所问的是否可能,但由于 python 是一个解释器,它可能是。我正在尝试在开源项目中进行更改,但是由于 python 中没有类型,因此很难知道变量作为数据具有什么以及它们的作用。您不能只查看有关 var 类型的文档,因为您无法确定它是什么类型。我想进入终端,这样我就可以通过键入 help(var) 或 print(var) 快速检查变量的类型以及它们的作用。我可以通过更改代码然后每次重新运行程序来做到这一点,但这会慢得多。

假设我有一个程序:

def foo():
    a = 5
    my_debug_shell()
    print a

foo()

my_debug_shell 是我要询问的功能。它会将我放到 python 解释器的“>>>”外壳中,我可以在其中输入 help(a),它会告诉我 a 是一个整数。然后我输入“a=7”和一些“继续”命令,程序继续打印 7,而不是 5,因为我改变了它。

最佳答案

http://docs.python.org/library/pdb.html

import pdb
pdb.set_trace()

关于python - 我可以在正在运行的 Python 程序中放置一个断点,该程序会下降到交互式终端吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769382/

相关文章:

用于检查数据框中是否存在用户输入值的 Python 脚本

python - MATLAB 和 Numpy/Scipy 之间的 3d 插值有什么区别?

python - Scikit learn - 如何使用 SVM 和随机森林进行文本分类?

javascript - 使用 AJAX 上传文件、处理并使用 Flask 将结果返回到 Javascript

python - 一定条件下的聚合

python - 如何在 python matplotlib colormap 中增加颜色分辨率

python - 如何在 PySimpleGUI 中从日期中删除时间

python - 不可能在 Selenium 上找到永久覆盖的解决方案

python - Psychopy中的图像渲染问题

python - 在 python 中以字符串形式输入目录