ipython:打印完整的历史记录(不仅仅是当前会话)

use*_*963 118 ipython

ipython,我可以使用%hist%history打印最近的历史记录,但这只打印当前会话的历史记录.

我想打印所有历史记录,类似于bash history命令.

我想要做的是获取完整的历史记录,以便我可以使用正则表达式进行搜索,查看指定命令后遵循的命令,依此类推

说到历史,它还可以打印时间码吗?

侧面注意:在bash中,我编写了一个简单的脚本来打印历史记录,我可以使用grep来查找关键字.我看到执行某些命令的时间.我可以指定-A n或者-B n,在哪里n是一些行AFTERBEFORE给定的命令.这非常方便,因为我可以很容易地找到我在做什么,接下来做什么,......

我正在寻找类似的东西 ipython

ox.*_*ox. 147

ipython请输入:

%history -g
Run Code Online (Sandbox Code Playgroud)

它不打印时间码,但它会打印会话/行号.


alp*_*989 19

首先用于%hist -o -g -f ipython_history.md将历史记录(输入和输出)输出到文本文件.(http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-history)

然后,您可以使用该get_session_info函数来检索您感兴趣的会话的日期和时间.(http://ipython.readthedocs.io/en/stable/api/generated/IPython.core.history.html?highlight= hist#IPython.core.history.HistoryAccessor.get_session_info)

profile_hist=IPython.core.history.HistoryAccessor(profile='default')
profile_hist.get_session_info(100)
Run Code Online (Sandbox Code Playgroud)

这将打印出类似的东西

(100, datetime.datetime(2018, 2, 13, 19, 8, 30, 40691), None, None, '')
Run Code Online (Sandbox Code Playgroud)

这意味着会话100于2018年2月13日19:08:30开始.