如何在Jupyter笔记本中检查自定义单元格或行魔术代码?

时间:2019-02-28 23:27:53

标签: jupyter-notebook

Jupyter笔记本版本为4.3.0,使用Python 3.5.3。使用:

(2,2)

出现一些预期的细胞魔术,例如:

%lsmagic

和线魔术:

%%time  %%timeit

还有许多是定制创建的。我将如何检查自定义单元魔术的背后的代码(以了解它的作用和作用,除了提供自定义行/单元魔术的文档之外)?谢谢。

1 个答案:

答案 0 :(得分:1)

这取决于魔术的类型。例如,要获取换行符matplotlib的源代码文件,可以使用以下代码:

import sys
magic_obj   = get_ipython().magics_manager.lsmagic()['line']['matplotlib']
module_name = magic_obj.__self__.__class__.__module__
print(sys.modules[module_name].__file__)

对于“细胞魔术” time

magic_obj   = get_ipython().magics_manager.lsmagic()['cell']['time']
module_name = magic_obj.__self__.__class__.__module__
print(sys.modules[module_name].__file__)

对于“细胞魔法” bash

magic_obj = get_ipython().magics_manager.lsmagic()['cell']['bash']
module_name = magic_obj.__module__
print(sys.modules[module_name].__file__)