Магические команды IPython: обзор
Содержание курса
Некоторые полезные магические команды
Рассмотрим более систематически ряд магий и их применение:
-
Навигация и файлы:
-
%pwd– текущая директория. -
%ls– содержимое директории. (%ls -lдаст подробный список, какls -lв Linux). -
%cd new_dir– сменить текущий каталог наnew_dir. В ноутбуке это влияет, куда будут сохраняться/искаться файлы.%cd ..– на уровень вверх. -
%mkdir new_folder– создать новую папку (эквивалент shell-команды mkdir). -
%rm file.csv– удалить файл (но будьте осторожны, безвозвратно).
-
-
Информация об окружении:
-
%who– покажет список всех переменных, определённых в текущем пространстве (типы не указывает, просто имена). -
%whos– более подробный вывод: имена, типы, краткое представление значений (например, для массивов – размер). -
%env– показать переменные окружения (OS environment variables). Можно использовать%env VAR=valueдля установки, и$$VARв коде для подстановки (илиos.environ).
-
-
Запуск внешнего кода:
-
%run script.py– выполнит Python-скриптscript.pyкак будто вы его запустили отдельным процессом, но в том же kernel. После выполнения в вашем ноутбуке будут доступны переменные и функции из этого скрипта. -
%load script.py– просто загрузит текст файлаscript.pyв ячейку. Удобно, чтобы быстро перенести код в ноутбук для выполнения или редактирования. -
%%bash– (ячейчная магия) позволяет написать несколько строк команд Bash. Например:%%bash echo "Список файлов:" ls -lВывод этой ячейки будет результатом выполнения этих bash-команд.
-
Другие ячейчные магии:
%%bash,%%sh– аналогично bash,%%time– засечь время выполнения всей ячейки,%%HTML– отобразить содержимое ячейки как HTML,%%latex– как LaTeX,%%writefile file.py– сохранить содержимое ячейки в файл.
-
-
Измерение производительности:
-
%time– замерить время выполнения одного выражения. -
%timeit– замерить время выполнения с высокой точностью, выполняя код многократно (см. урок 5.2). -
%%time/%%timeit– применимо к целой ячейке.
-
-
Отладка и профилирование:
-
%debug– войти в интерактивный режим отладки после исключения (подробнее в уроке 5.3). -
%pdb– включить/выключить автодоводчик при ошибках. -
%prun– выполнить выражение с профилированием (сбором статистики по времени работы функций). -
%lprun– профилировать отдельную функцию построчно (требуетline_profiler). -
%memit/%%memit– оценить потребление памяти (требуетmemory_profiler).
-
-
Прочие:
-
%reset– сбросить пространство имен (удалить все определённые переменные/функции). Без аргументов попросит подтверждение;%reset -f– без подтверждения. Полезно, чтобы очистить среду, не перезапуская kernel. -
%reset_selective varprefix– удалить переменные, имена которых начинаются сvarprefix(тоже с -f). -
%history– показать историю выполненных команд (можно ограничить количество, использовать-nчтобы с номерами ячеек). -
%autoreload– магия для автоматической перезагрузки модулей:%load_ext autoreload+%autoreload 2позволяет автоматически перезагружать модули, если их код в файлах изменился (полезно при разработке библиотек вместе с ноутбуком).
-
Эти магии значительно облегчают жизнь. Например, %whos часто выручает, чтобы быстро посмотреть, какие переменные у вас есть и не совершить опечатку в имени. %cd и %ls позволяют работать с файлами, не переходя в терминал. %run – разбивать проект на ноутбук и внешние .py файлы, комбинируя интерактивность с организованным кодом.
