Как загрузить/редактировать/запустить / сохранить текстовые файлы (.py) в ячейку IPython notebook?


недавно я перешел на использование ноутбуков IPython в рамках моего рабочего процесса. Однако мне не удалось найти способ импортировать файлы .py в отдельные ячейки открытого ноутбука IPython, чтобы они могли редактировать, запускать и затем сохранять. Можно ли это сделать?

Я нашел этой в документации, которая говорит мне, как импортировать файлы .py в качестве новых ноутбуков, но это не соответствует тому, что я хочу достичь.

любые предложения было бы много оцененный, Спасибо заранее.

4 175

4 ответа:

текстовый файл можно загрузить в ячейку ноутбука с помощью команды magic %load.

если вы выполняете ячейку, содержащую:

%load filename.py

содержание filename.py будет загружен в следующую ячейку. Вы можете редактировать и выполнять его как обычно.

чтобы сохранить содержимое ячейки обратно в файл, добавьте cell-magic %%writefile filename.py в начале ячейки и запустить его. Будьте осторожны, если файл с тем же именем уже существует он будет молча перезаписано.

чтобы увидеть справку для любой волшебной команды, добавьте ?: как %load? или %%writefile?.

для общей справки по магическим функциям введите " %magic" Для получения списка доступных магических функций используйте %lsmagic. За описанием любой из них, типа %magic_name? например, ' %cd?'.

Читайте также: магические функции из официальных документов IPython.

EDIT: начиная с IPython 3 (сейчас Jupyter project), ноутбук имеет текстовый редактор, который может быть использован в качестве более удобной альтернативы для загрузки/редактирования/сохранения текстовых файлов.

для записи / сохранения

%%writefile myfile.py

  • запись / сохранение содержимого ячейки в myfile.py (используйте -a добавить). Еще один псевдоним:%%file myfile.py

для выполнения

%run myfile.py

  • run myfile.py и вывод результатов в текущей ячейке

для загрузки / импорта

%load myfile.py

  • загрузить "импорт" myfile.py в текущую ячейку

для больше магии и помощи

%lsmagic

  • список всех других команд cool Cell magic.

%COMMAND-NAME?

  • для получения справки о том, как использовать определенную команду. то есть %run?

Примечание

помимо команд Cell magic, IPython notebook (теперь Jupyter notebook) настолько крут, что позволяет использовать любую команду unix прямо из ячейки (это также эквивалентно использованию

перетащите файл Python в таблицу IPython notebooks "home" notebooks, нажмите кнопку Загрузить. Это создаст новую записную книжку только с одной ячейкой, содержащей содержимое вашего файла. py

еще копировать / вставить из вашего любимого редактора ;)

Я нашел его удовлетворительным, чтобы использовать ls и cd в IPython notebook, чтобы найти файл. Потом типа Cat имя_файла в клетку, и вы получите обратно содержимое файла, который затем можно вставить в ячейку в виде кода.