ipython の 魔术命令

魔术命令:以%为前缀的命令,是ipython的特殊命令,方便完成常见的任务。

常见的魔术命令有:%run,%paste,%cpaste,%timeit,%reset,%hist,%debug,%bookmark,%logstart

(1)%run命令执行脚本文件

如果将代码写在文件中,执行文件中的代码的命令则是

%run 文件名

注:如果要中断正在执行的脚本文件可以按‘Ctrl-C’

(2)%paste粘贴文本

选择你要复制的代码,Ctrl+C复制,在ipython解释器中直接输入%paste则将复制的代码完整粘贴并且自动执行代码输入结果

ipython の 魔术命令
 

(3)%cpaste也是粘贴文本的,但与%paste区别的是输入%cpaste命令后提示信息,该提示信息的意思是:

可以粘贴任何你复制的每一条代码,在你输入结束命令之前都不会执行代码,输入‘--’按回车或者使用‘Ctrl-D’停止粘贴代码,停止粘贴代码后会执行代码

ipython の 魔术命令
 

注:若发现粘贴的代码有错误时不想让代码结束命令时被执行,可以按‘Ctrl-C可以提前终止%cpaste的提示符

这个的好处是你可以一句句粘贴你想要粘贴的代码,不用担心代码提前被执行,%paste则适合粘贴一段你需要的代码,省时省力

(4)%time与%timeit

%time指一次执行代码的总体时间

%tinmeit指多次执行代码的平均时间,使用这个命令是因为每次执行同一个代码的时间是不一样的,所以通过多次执行代码求出的平均时间更能说明代码的总体执行时间

(5)%reset指删除interactive命名空间中全部的变量名(interactive译为交互式,interactive命名空间是存储python的变量和名称的空间)

ipython の 魔术命令
 

如上图所示,原来的a变量存在,%reset之后则删除了所有变量,再次查看a变量为没有定义的变

(6)%xdel variable 删除单个变量的引用

ipython の 魔术命令
 

(7)%hist指历史命令

ipython の 魔术命令
 

可查看输入的历史命令

(8)日志:%logstart记录日志,相对应的日志命令还有%logstop,%logon,%logoff,%logstate
          %logstart -o -r -t path.文件

ipython の 魔术命令
 

魔术命令默认是可以不带%使用的,只要没有个定义与其相同的变量即可,这个技术叫做automagic。可以通过%automagic打开或者关闭

ipython の 魔术命令
 
ipython の 魔术命令