Jupyter笔记本版本为4.3.0,使用Python 3.5.3。使用:
(2,2)
出现一些预期的细胞魔术,例如:
%lsmagic
和线魔术:
%%time %%timeit
还有许多是定制创建的。我将如何检查自定义单元魔术的背后的代码(以了解它的作用和作用,除了提供自定义行/单元魔术的文档之外)?谢谢。
答案 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__)