Ipython魔术,替换一些文本,然后运行单元格

Ipython魔术,替换一些文本,然后运行单元格,ipython,ipython-notebook,ipython-magic,Ipython,Ipython Notebook,Ipython Magic,我正在尝试创建一个类似于%pylab的ipython魔术,但更明确(可能是以下内容的后续): 运行时,理想情况下,它将用注释版本替换自身,并附加执行导入和运行单元格的行: %mymagic # some code 会变成 # %mymagic import numpy as np %matplotlib qt import matplotlib.pyplot as plt # ..some other imports # the same code from earlier 我们的想法是,不

我正在尝试创建一个类似于%pylab的ipython魔术,但更明确(可能是以下内容的后续):

运行时,理想情况下,它将用注释版本替换自身,并附加执行导入和运行单元格的行:

%mymagic
# some code
会变成

# %mymagic
import numpy as np
%matplotlib qt
import matplotlib.pyplot as plt
# ..some other imports
# the same code from earlier
我们的想法是,不仅magic只会做非常明确的事情-即,您将实际看到它运行的代码/它将显式保存在笔记本中,而且像往常一样方便-只是导入的几个符号(在控制台中很有用)

我的问题是在更改单元格后运行单元格(我使用
%load
magic作为示例,因此我使用
set\u next\u input
更改单元格)。 我曾尝试在magic内部运行导入(即,
%pylab
是如何完成的),然后更改单元格,但这样做的缺点是将单元格保持在“not run”状态,效果不好,然后在ipython控制台中调用magic(您必须按enter键以清除显式文本)。同样,同一代码必须维护两次(一次用于“打印”,第二次用于执行magic时的实际导入)

有什么建议吗?
谢谢

内核中的代码目前还没有办法告诉前端运行计算单元。谢谢您的澄清!