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

WBOY
Release: 2016-06-06 16:23:51
Original
1832 people have browsed it

程序执行到这里后,等待输入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>
Copy after login
谢邀。
如@刘鑫 老师说的,有很多工具能够提供这种功能。

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>
Copy after login
有现成的工具呀,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>
Copy after login
<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>
Copy after login
不是有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>
Copy after login
你说的应该是raw_input吧

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

或者你的想法是
while(true):
command=raw_input()
if(command != "stop"):
exec(command)
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template