Maison  >  Article  >  développement back-end  >  怎么在.py程序中进入python的交互模式?

怎么在.py程序中进入python的交互模式?

WBOY
WBOYoriginal
2016-06-06 16:23:511833parcourir

程序执行到这里后,等待输入python命令
最好可以保存上下文信息,能够随时退出

考虑单文件的情况,最好在进入断点时相当于把文件的前一部分手动输入repl

回复内容:

<code class="language-pycon"><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">code</span>
<span class="gp">>>> </span><span class="k">def</span> <span class="nf">x</span><span class="p">():</span>
<span class="gp">... </span>    <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span>
<span class="gp">... </span>    <span class="n">code</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">banner</span><span class="o">=</span><span class="s">""</span><span class="p">,</span><span class="n">local</span><span class="o">=</span><span class="nb">locals</span><span class="p">())</span>
<span class="gp">... </span>
<span class="gp">>>> </span><span class="n">x</span><span class="p">()</span>

<span class="gp">>>> </span><span class="n">a</span>
<span class="go">1</span>
<span class="go">>>></span>
</code>
谢邀。
如@刘鑫 老师说的,有很多工具能够提供这种功能。

IPython 进入方法:
<code class="language-python3"><span class="kn">from</span> <span class="nn">IPython</span> <span class="k">import</span> <span class="n">start_ipython</span>
<span class="n">start_ipython</span><span class="p">()</span>
</code>
有现成的工具呀,ipython有提供这个功能,去他们官网可以看到文档。 CPython 自带了命令行交互接口,如大家所说只需要:
<code class="language-python3"><span class="kn">import</span> <span class="nn">code</span>
<span class="n">code</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">banner</span><span class="p">,</span> <span class="n">local</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
</code>
<code class="language-python"><span class="kn">import</span> <span class="nn">IPython</span>
<span class="n">IPython</span><span class="o">.</span><span class="n">embed</span><span class="p">()</span>
</code>
不是有pdb这么专业的调试工具么… 只需要插入两行:

import pdb
pdb.set_trace()
# 之后程序进入pdb调试

可以输入c,让程序继续运行 请问在 Ipython中使用IPython.embed()中断程序后,如何继续运行程序啊?新手小白一个,谢谢 ptpython- a better Python REPL
<code class="language-text">from ptpython.repl import embed
embed(globals(), locals(), vi_mode=False, history_filename=None)
</code>
你说的应该是raw_input吧

比如
name=raw_input("enter your name:")
print name

或者你的想法是
while(true):
command=raw_input()
if(command != "stop"):
exec(command)
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn