IPython:别名,它本身使用一个神奇的函数

IPython:别名,它本身使用一个神奇的函数,ipython,alias,ipython-magic,Ipython,Alias,Ipython Magic,我找不到关于这个的任何信息,所以我在这里问: 我想在IPython中创建一个别名,它本身使用IPython魔术函数 这意味着:我经常需要重新打字 %run process.py 因此,我想创建这样一个别名: %alias rp %run process.py 创建工作正常,但在调用rp时,它表示找不到命令%run。 有什么办法吗?试试这个: 进入IPython控制台时,键入%run process.py 然后可以使用%宏魔术将rp绑定到%运行process.py 使用输入存储中的执行此操作

我找不到关于这个的任何信息,所以我在这里问: 我想在IPython中创建一个别名,它本身使用IPython魔术函数

这意味着:我经常需要重新打字

%run process.py
因此,我想创建这样一个别名:

%alias rp %run process.py
创建工作正常,但在调用
rp
时,它表示找不到命令
%run
。 有什么办法吗?

试试这个:

进入IPython控制台时,键入
%run process.py

然后可以使用
%宏
魔术将
rp
绑定到
%运行process.py

使用输入存储中的
执行此操作

%run process.py
%macro rp In[-2]
应该有用


%macro
还可以使用语法
%macro name range
覆盖一系列输入,其中range可以是start-end格式中的一个或多个整数

例如,如果要使用单个命令对两个函数计时,可以指定行范围

定义功能:

In[20]: def foo(x): return x
In[21]: def bar(x): return x*x
In[22]: %timeit foo(100)
10000000 loops, best of 3: 137 ns per loop
In[23]: %timeit bar(100)
10000000 loops, best of 3: 194 ns per loop
时间函数:

In[20]: def foo(x): return x
In[21]: def bar(x): return x*x
In[22]: %timeit foo(100)
10000000 loops, best of 3: 137 ns per loop
In[23]: %timeit bar(100)
10000000 loops, best of 3: 194 ns per loop
将宏绑定到名称
时间\u fb

In[24]: %macro time_fb 22-23
宏绑定:

Macro `time_fb` created. To execute, type its name (without quotes).
=== Macro contents: ===
get_ipython().magic('timeit foo(100)')
get_ipython().magic('timeit bar(100)')
检查它是否工作:

In[25]: time_fb
10000000 loops, best of 3: 135 ns per loop
10000000 loops, best of 3: 192 ns per loop

尝试使用后缀为.ipy的脚本。请参阅:我不想在启动时运行它,我只想让命令可用…,那么脚本放在哪里?问题是,例如,使用宏时不会输出警告(我在python脚本中使用
w.warn(“blaaaaa”)
发出警告。@tim-如果你放w.filterWarning(“始终”)在脚本的顶部,它应该始终显示警告。还有一些显示选项。请注意,每次都将使用“始终”显示警告。