Как загрузить/редактировать/запустить/сохранить текстовые файлы (.py) в ячейку блокнота IPython?
-
21-12-2019 - |
Вопрос
Недавно я перешел на использование блокнотов IPython в своем рабочем процессе.Однако мне не удалось найти способ импортировать файлы .py в отдельные ячейки открытого блокнота IPython, чтобы их можно было редактировать, запускать и затем сохранять.Можно ли это сделать?
Я нашел этот в документации, в которой рассказывается, как импортировать файлы .py в качестве новых записных книжек, но это не соответствует тому, чего я хочу достичь.
Любые предложения будут высоко ценится.
Решение
РЕДАКТИРОВАТЬ:Начиная с Ipython 3 (теперь проект Jupyter), ноутбук имеет текстовый редактор, который можно использовать в качестве более удобной альтернативы для загрузки/редактирования/сохранения текстовых файлов.
Текстовый файл можно загрузить в ячейку блокнота с помощью волшебной команды %load
.
Если вы выполните ячейку, содержащую:
%load filename.py
содержание filename.py
будет загружен в следующую ячейку.Вы можете редактировать и выполнять его как обычно.
Чтобы сохранить содержимое ячейки обратно в файл, добавьте cell-magic %%writefile filename.py
в начале ячейки и запустите ее.Помните, что если файл с таким именем уже существует оно будет незаметно перезаписано.
Чтобы увидеть справку по любой магической команде, добавьте ?
:нравиться %load?
или %%writefile?
.
Для общей помощи по магическим функциям тип « %магия» для списка доступных магических функций используйте %lsmagic.Для описания любого из них тип %magic_name?, Например,'%CD?'.
Смотрите также: Волшебные функции из официальной документации IPython.
Другие советы
Написать/сохранить
%%writefile myfile.py
- записать/сохранить содержимое ячейки в myfile.py (используйте
-a
добавить).Другой псевдоним:%%file myfile.py
Бежать
%run myfile.py
- запустите myfile.py и выведите результаты в текущую ячейку
Чтобы загрузить/импортировать
%load myfile.py
- загрузить «импортировать» myfile.py в текущую ячейку
Для большего волшебства и помощи
%lsmagic
- перечислите все другие интересные команды клеточной магии.
%COMMAND-NAME?
- за помощью о том, как использовать определенную команду.то есть
%run?
Примечание
Помимо магических команд ячейки, блокнот IPython (теперь блокнот Jupyter) настолько крут, что позволяет использовать любую команду Unix прямо из ячейки (это также эквивалентно использованию %%bash
клеточная магическая команда).
Чтобы запустить команду unix из ячейки, просто перед командой введите !
отметка.например:
!python --version
посмотреть свою версию Python!python myfile.py
запустите myfile.py и выведите результаты в текущую ячейку, точно так же, как%run
(см. разницу между!python
и%run
в комментариях ниже).
Также см этот нбвьювер для дальнейшего объяснения с примерами.Надеюсь это поможет.
Перетащите файл Python в таблице ноутбуков на ноутбуках iPyTon «Домой», нажмите «Загрузить».Это создаст новый ноутбук только с одной ячейкой, содержащей ваш файл файла .py
еще копировать / вставить из своего любимого редактора;)
Я нашел его удовлетворительным для использования LS и CD в ноутбуке iPython, чтобы найти файл.Затем введите Cat your_file_name в ячейку, и вы получите содержимое файла, которое вы можете вставить в ячейку в виде кода.