0

我正在尝试创建一个类似于 %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

想法是,不仅魔术只会做非常明确的事情 - 即您实际上会看到它运行的代码/它将明确保存在笔记本中,而且像往常一样方便 - 只需快速导入几个符号(在控制台中很有用)。

对我来说,问题是在更改单元格后运行单元格(我以%load魔法为例,所以我set_next_input用来更改单元格)。我已经尝试在魔法中运行导入(即究竟是如何%pylab做到的)然后更改单元格,但这样做的缺点是使单元格处于“未运行”状态,并且效果不如魔法在 ipython 控制台中调用(您必须按 Enter 键才能删除显式文本)。此外,相同的代码必须维护两次(一次用于“打印”,第二次用于执行魔法时的实际导入)

任何建议如何解决这个问题?谢谢

4

0 回答 0