ipython的历史文件在哪里

jav*_*dba 28 python ipython

我无法确定ipython存储历史的位置.

一个.没有〜/ .pythonhistory:

12:49:00/dashboards $ll ~/.py*
ls: /Users/steve/.py*: No such file or directory
Run Code Online (Sandbox Code Playgroud)

湾 python启动文件中没什么特别之处:

12:49:07/dashboards $echo $PYTHONSTARTUP
/shared/.pythonstartup
12:49:43/dashboards $cat /shared/.pythonstartup
import rlcompleter
import readline

readline.parse_and_bind("tab: complete")
Run Code Online (Sandbox Code Playgroud)

C.但是:当我启动ipython时,我确实有很多历史可用.

那么历史存储在哪里?

更新 @Stefano的答案导致了正确的方法:这是实际路径

13:30:05/shared $ll ~/.ipython/profile_default/history.sqlite
-rw-r--r--  1 steve  staff  372736 Jun  3 12:48 /Users/steve/.ipython/profile_default/history.sqlite
Run Code Online (Sandbox Code Playgroud)

Chr*_*ong 36

如果您希望将IPython历史记录保存在纯文本文件中,则可以自行导出.

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

  • 如果没有`-g`,它会导出当前会话的历史记录.使用`-g`,它会导出所有会话的历史记录.我为`-g`找到的唯一文档是在IPython shell中键入`%quickref`. (4认同)
  • 我发现`-g`也不适合我。-g有什么作用? (2认同)

Ste*_*ppo 25

IPython历史记录存储在位于配置文件目录中的SQLite数据库中.默认情况下:

~/.ipython/profile_default/history.sqlite
Run Code Online (Sandbox Code Playgroud)

旧版本(1.x)存储了配置文件数据~/.config/ipython,至少在符合基于XDG的规范(即大多数Linux发行版)的平台上.

无论如何,您可以找到配置文件目录:

$ ipython locate profile default
Run Code Online (Sandbox Code Playgroud)

请注意,历史数据库在IPython和IPython3之间共享(如果两者都已安装).

  • 另外,表名称是“history”。例如,这将允许您使用 sqlite3 搜索该数据库。 (2认同)