魔法命令分为两类:行魔法(以单个 %
开头)和单元魔法(以 %%
开头)。以下是根据 IPython 官方文档 整理的常用魔法命令概览。
常用行魔法命令
代码执行
%time
: 测量单行语句的执行时间。%timeit
: 多次运行一行代码并计算平均执行时间。%run
: 执行外部 Python 脚本。%load
: 从外部文件加载代码到单元格。%pycat
: 显示外部脚本的内容,带有语法高亮。
环境管理
%env
: 获取、设置或列出环境变量。%matplotlib inline
: 在 notebook 中内嵌显示 matplotlib 图表。%config
: 配置 IPython 的选项。%automagic
: 启用/禁用魔法命令的自动调用(无需 % 前缀)。
系统相关
%pwd
: 显示当前工作目录。%ls
: 列出当前目录内容。%cd
: 改变当前工作目录。%bookmark
: 管理 IPython 目录书签。%shellmanager
: 管理定义的shell配置。
变量和数据
%who
: 列出当前命名空间中的变量。%whos
: 列出当前命名空间中的变量,包括更详细的信息。%store
: 在会话间存储和恢复变量。
历史和调试
%history
: 显示命令历史。%pdb
: 在异常发生时自动进入调试器。%debug
: 进入交互式调试器。%prun
: 使用 cProfile 进行性能分析。%reset
: 删除所有 namespace 中的变量。
剪贴板操作
%paste
: 从剪贴板粘贴并执行代码。%cpaste
: 从剪贴板交互式粘贴并执行代码。
常用单元魔法命令
%%time
: 测量整个单元格的执行时间。%%timeit
: 多次运行整个单元格并计算平均执行时间。%%writefile
: 将单元格内容写入文件。%%capture
: 捕获单元格的输出。%%html
: 渲染单元格内容为 HTML。%%latex
: 渲染单元格内容为 LaTeX。%%javascript
: 执行 JavaScript 代码。%%bash
: 执行 Bash 命令。%%python2
或%%python3
: 在特定版本的 Python 中执行代码。%%script
: 用指定的解释器运行单元格。%%sql
: 执行 SQL 查询(需要安装 SQL 扩展)。%%cython
: 编译并执行 Cython 代码。
其他有用的魔法命令
%lsmagic
: 列出所有可用的魔法命令。%quickref
: 显示 IPython 快速参考。%magic
: 显示魔法命令的详细信息。%save
: 保存指定行或单元格到文件。%macro
: 定义用于重复执行的宏。%alias
: 定义别名以系统命令。
注意:
- 某些魔法命令可能需要安装额外的库或扩展才能使用。
- 使用
%lsmagic
可以查看当前环境中可用的所有魔法命令。 - 对任何魔法命令使用
?
(如%time?
)可以获取该命令的详细帮助信息。 - 魔法命令可以通过
%config
进行配置,或通过创建自定义魔法命令来扩展。