Skip to content

IPython - 历史命令

IPython 会一丝不苟地记录你在会话 (session) 期间输入的命令。这些历史记录非常容易访问,可以轻松地回忆、修改和重新执行之前的命令。

访问之前命令的最直接方法是在 IPython 控制台 (console) 或 Jupyter 单元格 (cell) 中使用向上和向下箭头键。按向上键会在命令历史中向后滚动,而向下键则向前滚动。

要以更结构化的方式查看命令历史,可以使用 %history Magic 命令。默认情况下,它会列出当前会话中输入的命令。

In [1]: message = "Hello IPython"
In [2]: print(message)
# 输出: Hello IPython
In [3]: %history
# 输出:
# message = "Hello IPython"
# print(message)
# %history

你可以通过各种选项控制 %history 的输出:

  • %history -n:显示带行号的历史记录。
  • %history 1-5:显示从行 1 到 5 的历史记录。
  • %history ~1/1-5:显示上一个会话从行 1 到 5 的历史记录。
  • %history -g <pattern>:在历史记录中搜索包含 <模式> 的行。
In [4]: %history -n 1-2
# 输出:
# 1: message = "Hello IPython"
# 2: print(message)

IPython 还会将最近的输入和输出存储在特殊变量中,这将在“输入/输出缓存 (Caching)”部分详细介绍。简单来说:

  • _, __, ___:存储最近的三个输出值。
  • _i, _ii, _iii:存储最近的三个输入字符串。
  • In, _ih:包含所有输入字符串的列表。
  • Out, _oh:将单元格编号映射到输出值的字典。

这些功能结合起来,提供了一种强大的方式来与你过去的计算进行交互和重用。