Недавно я перешел на использование ноутбуков IPython как часть моего рабочего процесса. Однако мне не удалось найти способ импорта файлов .py в отдельные ячейки открытой записной книжки IPython, чтобы их можно было редактировать, запускать, а затем сохранять. Можно ли это сделать?
Я нашел это в документации, в которой рассказывается, как импортировать файлы .py в качестве новых записных книжек, но это не соответствует тому, чего я хочу достичь.
Любые предложения будут высоко ценится.
python
jupyter-notebook
ipython
jupyter
aaronsstack
источник
источник
Ответы:
Текстовый файл может быть загружен в ячейку ноутбука с помощью волшебной команды
%load
.Если вы выполните ячейку, содержащую:
содержимое
filename.py
будет загружено в следующую ячейку. Вы можете редактировать и выполнять его как обычно.Чтобы сохранить содержимое ячейки обратно в файл, добавьте магию ячейки
%%writefile filename.py
в начале ячейки и запустите ее. Помните, что если файл с таким именем уже существует, он будет перезаписан .Чтобы увидеть справку по любой магической команде, добавьте
?
: like%load?
или%%writefile?
.Для получения общей справочной информации о магических функциях введите «% magic». Для получения списка доступных магических функций используйте% lsmagic. Для описания любого из них введите% magic_name ?, например, «% cd?».
Смотрите также: Волшебные функции из официальных документов IPython.
источник
%save -f
кажется, способ сделать то, что я искал. Спасибо!save -f
это своего рода косвенный способ сохранения в файл, который будет работать только в том случае, если сначала выполнить ячейку, а затем указать правильную ссылку. В общем, проще использовать%%writefile
запись текущей ячейки в файл. Я обновил ответ, чтобы упомянуть об этом.%loadpy
(а не%load
).%load
в порядке, продвижение вперед: "%loadpy
( Alias of%load
) -%loadpy
приобрел некоторую гибкость и отменил требование.py
расширения. Таким образом, оно было переименовано просто в%load
. Вы можете посмотреть на%load
строку документации для получения дополнительной информации. "Написать / сохранить
%%writefile myfile.py
-a
для добавления). Еще один псевдоним:%%file myfile.py
Бежать
%run myfile.py
Загрузить / импортировать
%load myfile.py
Для большей магии и помощи
%lsmagic
%COMMAND-NAME?
%run?
Заметка
Помимо магических команд ячейки, блокнот IPython (теперь блокнот Jupyter) настолько крут, что позволяет использовать любую команду unix прямо из ячейки (это также эквивалентно использованию
%%bash
магической команды ячейки).Чтобы запустить команду unix из ячейки, просто поставьте перед ней команду с
!
меткой. например:!python --version
увидеть вашу версию Python!python myfile.py
запустите myfile.py и выведите результаты в текущей ячейке, как%run
показано ниже (см. разницу между!python
и%run
в комментариях ниже).Также смотрите этот nbviewer для дальнейшего объяснения с примерами. Надеюсь это поможет.
источник
!dir Volume in drive D is Documents
т.д ... Так что это не только bash, но и cmd!!python --version
(опечатка)%run myfile.py
в противоположность!python myfile.py
. Если вы сделаете первый, он будет выполняться с использованием ядра ipython, включая любую предварительно настроенную загрузку. Небольшая проблема, но сегодня я столкнулся с ошибкой, которая изменила меня.%run myfile.py
описанный в этом ответе, при включении магических команд ячейки IPython в свой сценарий, используйте%run myfile.ipy
.Перетащите файл Python в таблицу «домашних» блокнотов Ipython, нажмите «Загрузить». Это создаст новую записную книжку с одной ячейкой, содержащей содержимое файла .py
Остальное скопируйте / вставьте из вашего любимого редактора;)
источник
Я нашел удовлетворительным использование ls и cd в блокноте ipython для поиска файла. Затем введите cat your_file_name в ячейку, и вы вернете содержимое файла, которое затем сможете вставить в ячейку как код.
источник
!cat "file.txt"