Ipython 伊皮顿滚轴原木

Ipython 伊皮顿滚轴原木,ipython,Ipython,我想将最后500Mb的ipython输入和输出保存到一个文件中 当我必须杀死ipython时,上面描述的保存应该能够绕过实例。例如,基于计时器进行保存 我希望在启动时重新加载(而不是重新执行)此文件。然后以滚动方式更新文件 如何实现这一点?IPython已经记录了您的输入-它存储在配置文件文件夹中的history.sqlite中(运行IPython locate profile查看其位置)。要同时打开输出日志记录,请编辑ipython\u config.py并搜索“db\u log\u outp

我想将最后500Mb的ipython输入和输出保存到一个文件中

当我必须杀死ipython时,上面描述的保存应该能够绕过实例。例如,基于计时器进行保存

我希望在启动时重新加载(而不是重新执行)此文件。然后以滚动方式更新文件


如何实现这一点?

IPython已经记录了您的输入-它存储在配置文件文件夹中的
history.sqlite
中(运行
IPython locate profile
查看其位置)。要同时打开输出日志记录,请编辑
ipython\u config.py
并搜索“db\u log\u output”。这将捕获由displayhook(带有
Out[n]:
提示)而非打印输出产生的输出

要查看上一个会话的历史记录,可以使用
%hist~1/1-10
(当前会话之前的会话第1-10行)。它还可以使用神奇的命令,如
%rerun
%recall
%save


如果要将其记录到文本文件中,请查看
%logstart
magic。

Thomas,感谢您的回复。我是ipython的新手。我如何将上述配置结合起来以实现我所需的功能?具体地说是-1。有没有办法将文本文件作为终端历史加载到ipython中?2.我可以将终端历史的一部分保存到计时器上的文件中吗?您想实现什么?IPython已重新加载您在终端历史记录中输入的最后1000条命令。如果IPython用作“系统”脚本终端,如bash,则为info(命令)>>info(输出)。因此,存储cmd并使其易于重新调用和重新执行(%hist、%rerun、%recall和%save)是有意义的。但是如果你想把它当作一个“数据处理”终端,比如R/matlab(我就是这么用的)info(命令)~info(输出)。对于没有相关输出的命令,我没有特别的用途,反之亦然。事实上,当我在一天/一周结束后重新开始工作时,我想要的是回忆我在解决问题的过程中所处的位置。因此,我希望我以前工作的日志显示为我的“终端历史记录”。外部日志文件的问题是,随着时间的推移,它往往会变得非常大。因此,我需要它“滚动”。此外,我不知道如何重新加载它并使其显示为终端历史。如果启用
db_log_output
,它将存储输出,您只需执行
%hist-po~1/1-10
即可查看您正在执行的操作。它的增长速度没有那么快,但是1.0版本中出现了一个新的
ipython history trim
命令,将数据库剪切到最后1000个条目。