发布于2026-07-23 阅读(0)
扫一扫,手机访问
魔法命令是Jupyter Notebook里一个非常实用的工具集,但很多人在日常使用中可能只接触了皮毛。实际上,它包含两种类型的指令:Line magics(行魔法)和Cell magics(单元格魔法),加起来超过一百个,覆盖了从文件管理到性能调优的方方面面。下面先看看怎么快速查阅这些命令。
A vailable line magics:【对当前行使用共计93个】%alias %alias_magic %autoawait %autocall %automagic %autosa ve %bookmark %cd %clear %cls %colors %conda %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %sa ve %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode A vailable cell magics:【对当前cell使用共计28个】%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%ja vascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile


如果你想知道某个魔法命令的具体用法,直接在命令后面加一个问号就行。比如%alias?,会弹出详细的帮助文档,非常方便。

Line魔法指令作用于单行代码,用%开头。下面挑几个常用的说说。
%alias:设置指令的别名。Windows系统下默认有8个别名,功能跟Linux下的命令类似。
#Windows下有8个命令In [1]: %alias#Total number of aliases: 8Out[1]:[('copy', 'copy'), ('ddir', 'dir /ad /on'), ('echo', 'echo'), ('ldir', 'dir /ad /on'),#列出文件夹 ('ls', 'dir /on'), ('mkdir', 'mkdir'),#创建文件夹 ('ren', 'ren'), ('rmdir', 'rmdir')]#删除文件夹
Linux下默认有16个,感兴趣可以自己试验一下。
In [3]: %aliasTotal number of aliases: 16Out[3]:[('cat', 'cat'), ('clear', 'clear'), ('cp', 'cp'), ('ldir', 'ls -F -o --color %l | grep /$'), ('less', 'less'), ('lf', 'ls -F -o --color %l | grep ^-'), ('lk', 'ls -F -o --color %l | grep ^l'), ('ll', 'ls -F -o --color'), ('ls', 'ls -F --color'), ('lx', 'ls -F -o --color %l | grep ^-..x'), ('man', 'man'), ('mkdir', 'mkdir'), ('more', 'more'), ('mv', 'mv'), ('rm', 'rm'), ('rmdir', 'rmdir')]
当然,你也可以自己设置别名。不过坦白说,日常工作中这个功能用得不多,但了解一下没坏处。

%conda:直接在cell中安装package,写法是%conda install package_names。
%dhist:输出历史访问目录,方便你快速切换回之前去过的文件夹。
%history:列出历史输入的指令,效果跟Linux里的history一样。

%magic:输出所有魔法指令的帮助文档,相当于一个总的快速参考。
%matplotlib inline:这个应该很熟悉了,效果等价于plt.show(),让图表直接显示在Notebook中。
%notebook:导出当前notebook的所有历史输入到一个文件中。比如%notebook notebook.ipynb会把所有输入保存到指定文件。
%pip:在cell中使用pip指令,省得跑到终端里去操作。
%pwd:输出当前工作路径。
%pycat:预览文件内容,类似Linux里的cat。
%run:执行一个Python脚本,直接运行外部文件。

%time:测量单条语句的执行时间,非常实用。

Cell魔法指令作用于整个单元格,用%%开头,可以完成更复杂的操作。
%%writefile:将当前cell中的内容直接写入一个文件,省去手动复制粘贴的麻烦。

%%latex:在Notebook中直接写LaTeX公式,编译后显示为数学格式。
%%latex\begin{equation} \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15} \label{eq:sample}\end{equation}

%%script:这是一个很强大的命令,可以让你在Notebook里运行bash、perl、ja vascript、python2等脚本。不过需要提醒的是,经过测试,在Jupyter Notebook中这个功能支持得不太友好,但在IPython中运行完全没问题。下面是在IPython中的演示:
In [9]: %%script bash ...: for i in 1 2 3; do ...: echo $i; ...: done123
In [11]: %%script perl ...: print "hhn";hhn
In [12]: %%script python2 ...: print "hhhn" ...: ...:hhhn
参考资料:https://ipython.readthedocs.io/en/stable/interactive/magics.html#
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8