如何重置IPython输入提示编号?(控制台,非笔记本电脑或qt)
以下是我当前的IPython命令提示符(常规终端IPython,而不是笔记本电脑或Qt): 我已经完成了我的工作流程,正在着手一项新任务。我想要一种重置IPython输入提示号的方法,如下所示:如何重置IPython输入提示编号?(控制台,非笔记本电脑或qt),ipython,Ipython,以下是我当前的IPython命令提示符(常规终端IPython,而不是笔记本电脑或Qt): 我已经完成了我的工作流程,正在着手一项新任务。我想要一种重置IPython输入提示号的方法,如下所示: In [1]: 我理解这可能来自于我无法回答或回答的非重复问题: 为了进一步说明,下面是我所关注的命令的一个示例: In [99]: %reset_command_number In [1]: 2+2 Out[1]: 4 In [2]: %reset_command_number In [1]: 三
In [1]:
我理解这可能来自于我无法回答或回答的非重复问题:
为了进一步说明,下面是我所关注的命令的一个示例:
In [99]: %reset_command_number
In [1]: 2+2
Out[1]: 4
In [2]: %reset_command_number
In [1]:
三个神奇的问题:
我不确定您是否可以,使用笔记本所做的工作(据我所知)相当于打开一个新的python会话,就像打开一个新选项卡,再次启动ipython,然后重新执行所有操作一样 因此,如果我是你,必须开始一项新任务,并且想从[1]中的
开始,我只需要启动一个新的ipython环境
与ipython笔记本相同,启动新任务的方法是启动一个新笔记本
我能想象为什么要这样做的唯一原因是,您希望访问前一个任务中的某个变量。
我要做的是使用pickle保存要重用的对象,或者将变量保存到文件中,然后在新的ipython会话中重新加载它
你看过医生的照片了吗?你可能有其他问题的答案
请注意,我知道这不是一个真正的答案,但它不仅仅是一个评论,无论如何,我希望这有帮助
如果您有比重置提示号更具体的需求,只需详细说明即可。一种可能是修改以下命令的执行计数:
- 使用带有
的单行命令代码>使重复调用此命令变得更容易(如果使用向上箭头滚动命令历史记录)
- 这样做的副作用是,在第一个命令之后,您也会看到此错误。不过,我不知道它是否有副作用。(它已经说明历史记录已移动到另一个会话)
演示
[1]中的:a=1
[2]中:b=88
In[3]:c=99
在[4]中:导入IPython;IPython.get_IPython().execution_count=0
在[1]中:a
Out[1]:1
错误!会话/行号在数据库中不唯一。历史记录移动到新会话20767
在[2]中:
Out[2]:88
在[3]:c中
Out[3]:99
在[4]中:导入IPython;IPython.get_IPython().execution_count=0
在[1]中:a=15
错误!会话/行号在数据库中不唯一。历史记录移动到新会话20768
在[2]中:a
Out[2]:15
在[3]中:
Out[3]:88
使用别名?
也可以为命令使用别名。例如,创建文件i_reset.py
,并将其放入站点包
、~/.ipython/extensions/
、您的PYTHONPATH
或您可以在系统路径
中看到的任何其他文件夹中
#i_reset.py
def i_重置(行):
"""
将IPython外壳编号重置为[1]
"""
进口IPython;IPython.get_IPython().execution_count=0
def加载ipython扩展(ipython):
“”“当扩展名为
已加载。它接受IPython InteractiveShell
例如,我们可以向
`shell的register\u magic\u函数方法
实例。”“”
ipython.register\u magic\u函数(i\u reset,'line')
然后,您可以先加载扩展名,然后像这样调用它:
In [4]: %load_ext i_reset
In [5]: i_reset
In [1]: a
Out[1]: 1
假设您不需要会话数据,最简单的方法是退出并重新启动IPython
$ ipython
In [1]: 1+1
Out[1]: 2
In [2]: 2+2
Out[2]: 4
In [3]: 3+3
Out[3]: 6
In [4]: exit
$ ipython
In [1]: print("Prompt numbering reset")
Prompt numbering reset
In [2]:
ERROR! Session/line number was not unique in database. History logging moved to new session 20741
In [4]: %load_ext i_reset
In [5]: i_reset
In [1]: a
Out[1]: 1
$ ipython
In [1]: 1+1
Out[1]: 2
In [2]: 2+2
Out[2]: 4
In [3]: 3+3
Out[3]: 6
In [4]: exit
$ ipython
In [1]: print("Prompt numbering reset")
Prompt numbering reset
In [2]: