我可以将ipython命令行历史记录保存到笔记本文件吗?

Yan*_*ang 4 ipython ipython-notebook jupyter-notebook

我使用的是iPython命令行界面,经过一些操作后,我想将操作历史记录保存到笔记本文件中。但是我从一开始就没有使用iPython笔记本。我还能做到吗?

kri*_*anp 13

来自@Thomas K(我不知道他为什么没有发布答案):

%notebook -e myhistory.ipynb
Run Code Online (Sandbox Code Playgroud)

  • 将“-e”与“python”的[当前版本](https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-notebook)一起删除。 (3认同)

Ste*_*nes 5

简短的答案有两种方式,稍长的答案是”-但您可能无法获得期望的结果!

答案很长:原因是,当您在笔记本电脑(现在称为jupyter笔记本电脑)中工作时您的工作存储在一系列单元格中,每个单元格在工作时都有一行或多行代码或减价行在控制台中,您的所有工作都是一系列的python代码。

在控制台会话中,您可以使用%save部分或全部工作将文件保存到一个或多个python文件,然后将其粘贴,导入等到笔记本单元中。您还可以保存%save -r用于.ipy将工作(包括魔术)作为魔术而不是魔术的结果归档的文件而不是以后可以在笔记本中再次使用的魔术结果

您还可以使用%notebook魔术将带有-e export标志的所有当前历史记录保存在ipynb json文件或python .py 文本文件之一中。但是,从文档中尚不清楚历史是否将以单个单元格,每个命令一个单元格或其他某个分区结束。稍作测试后,控制台的每个编号行建议一个单元格,因此每个单元格只有一个命令或定义。

就我个人而言,我会坚持使用%save命令将任何有用的东西输出到python文件中,或者最好还是在我认为自己以后可能需要做的事情时启动笔记本。

  • 对不起史蒂夫,但*正确*的答案是肯定的。;-) `%notebook` 魔法正是针对这个用例的。例如`%notebook -e myhistory.ipynb`。 (7认同)