![](/img/trans.png)
[英]Python 3.6 in Visual Studio 2017 How to Run Program in the Interactive Shell
[英]python: run interactive python shell from program
我经常会遇到这样一个问题,即我将编写一个脚本,并且我要编写脚本的一部分,我想以交互方式使用一些变量。 到达那个部分需要运行我已编写的大部分脚本。
在这种情况下,从shell内部运行此程序并非易事。 我不得不以某种方式重新创建该函数的条件。
我想要做的是调用一个函数,比如runshell()
,它将在程序中的那一点运行python shell,将所有变量保持在范围内,允许我在其中查找。
我该怎么做呢?
import code
code.interact(local=locals())
但是使用Python调试器可能更符合您的要求:
import pdb
pdb.set_trace()
到目前为止,我发现最方便的方法是:
import IPython
IPython.embed()
您将获得所有全局和局部变量以及IPython的所有生物舒适:选项卡完成,自动缩进等。
您必须安装IPython模块才能使用它:
pip install ipython
为了实用,我想补充一点,你可以将调试器跟踪放在一个单元中:
import pdb; pdb.set_trace()
这是一个很好的行添加到支持片段的编辑器,如TextMate或Vim + SnipMate。 我把它设置为将“break”扩展到上面的一个衬里。
不完全是一个完美的来源,但我之前写了一些沙井,这是我写的一个废弃的宠物项目http://code.google.com/p/devdave/source/browse/pymethius/trunk/webmud/handlers /konsole.py
这里有来自Twisted Library的http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.1.0/twisted/manhole/telnet.py ,控制台逻辑在Shell.doCommand中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.