Продвинутые возможности

Магические команды IPython: обзор

Содержание курса

Что такое «магические» команды

В Jupyter Notebook за исполнение кода отвечает IPython – интерактивная оболочка для Python. IPython расширяет стандартные возможности языка, предоставляя магические команды (magic commands) – специальные инструкции, начинающиеся с % (линейные магии) или %% (ячейчные магии).

Магические команды предназначены для решения вспомогательных задач: управление средой, измерение времени, вызов системных команд и т.д., без выхода из ноутбука. Они не являются частью Python-синтаксиса – IPython перехватывает строки, начинающиеся с %, и выполняет особым образом.

Примеры:

  • %pwd – показывает текущий рабочий каталог (от англ. "print working directory"). Аналог команды pwd в Linux/cd в Windows, но вывод прямо в ноутбуке.

  • %ls – выводит список файлов в текущей директории (в Windows фактически выполняет dir). Можно указать путь: %ls ./data/ покажет содержимое папки data.

  • %matplotlib inline – мы использовали ранее, настраивает бэкенд matplotlib.

  • %timeit – измеряет время выполнения выражения (многократно, для оценки производительности).

  • %%bash – выполнит всю ячейку как скрипт Bash (полезно, если надо запустить несколько команд shell).

  • %load filename.py – загрузит содержимое внешнего .py файла в текущую ячейку.

  • %store переменная – сохранит значение переменной, чтобы потом восстановить даже после перезапуска kernel (простое межсеансовое хранение).

  • И так далее.

Получить список всех магических команд: %lsmagic. Тогда вы увидите перечень Available line magics и Available cell magics. Также можно читать документацию: добавив ? после магии, например %time? покажет справку.