Creating a custom magic command in an IPython extension
IPython comes with a rich set of magic commands. You can get the complete list with the %lsmagic
command. IPython also allows you to create your own magic commands. In this section, we will create a new cell magic that compiles and executes C++ code in the Notebook.
We first import the register_cell_magic
function:
In [1]: from IPython.core.magic import register_cell_magic
To create a new cell magic, we create a function that takes a line (containing possible options) and a cell's contents as its arguments, and we decorate it with @register_cell_magic
, as shown here:
In [2]: @register_cell_magic def cpp(line, cell): """Compile, execute C++ code, and return the standard output.""" # We first retrieve the current IPython interpreter # instance. ip = get_ipython() # We define the source and executable filenames. source_filename = '_temp.cpp' ...