[英]interactive use of python console inside function scope without debugging mode
这是我想要的:
def f():
x = 3
return
在控制台中运行该命令并要求x不会给出任何结果,因为x在函数范围内。 替代方法是将所有代码复制到新脚本中,然后取消制表并运行它。 然后我可以要求x的值。 如果我在类内部有一个复杂的函数f()或更糟糕的方法,那么对复制/取消固定/交互输出以及代码修改/正确地复制/制表,这可能是一个令人沮丧的操作。
我可以在功能范围内获得交互式控制台的唯一方法是使用pdb,但我想在其中使用干净的控制台,而不要使用调试器。
> x
Traceback (most recent call last):
File "<ipython-input-25-401b30e3b8b5>", line 1, in <module>
x
NameError: name 'x' is not defined
我使用IPython作为更好的Python控制台:
import IPython
def some_complex_fn():
x = 42
IPython.embed()
some_complex_fn()
然后,交互式控制台会知道x
。
我找不到“经典” Python控制台是否具有任何类似的API。
如果您正在编写Web应用程序,那么带有Web界面的调试器可能会更好-例如Werkzeug调试器也包含一个交互式控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.