Вы должны применить специальные преобразования IPython, чтобы запустить вложенную магию с ячейкой, , как %%time
magic :
@register_cell_magic
def accio(line, cell):
ipy = get_ipython()
expr = ipy.input_transformer_manager.transform_cell(cell)
expr_ast = ipy.compile.ast_parse(expr)
expr_ast = ipy.transform_ast(expr_ast)
code = ipy.compile(expr_ast, '', 'exec')
exec(code)
или просто позвоните run_cell
:
@register_cell_magic
def accio(line, cell):
get_ipython().run_cell(cell)
результат:
In [1]: %%accio
...: %%time
...: %%bash
...: date
...:
accio
Wed Nov 14 17:41:55 CST 2018
CPU times: user 1.42 ms, sys: 4.21 ms, total: 5.63 ms
Wall time: 9.64 ms