По сути, я хочу сделать обратное
ipython nbconvert --to python foo.ipynb
IOW, я хочу программно «синтезировать» блокноты iPython из исходного кода Python1 (возможно, с соответствующими комментариями).
Есть ли инструменты для этого?
FWIW, я опытный пользователь Emacs и недавно «перешел» на его org-mode
, поэтому я особенно приветствую решения, которые хорошо с ними работают.
1 Почему я хочу это сделать? Это очень длинная и утомительная история, но вкратце: я должен сдавать домашние задания для класса в виде файлов *.ipynb, но мне не нравится работать с блокнотами iPython, так как я боится мышей, работаю только с текстом. Emacs-голова. Инструменты для работы с блокнотами iPython в Emacs, ИМХО, ужасны, если вообще работают (это собственно «долгая и нудная» часть истории). Единственный оставшийся способ действий для меня — это тот, о котором идет речь в этом посте.
ipynb
-›py
не проблема, потому что вы потеряете информацию. Преобразованиеpy
->ipynb
требует дополнительной информации... Тем не менее: Блокноты - это всего лишьjson
файлов. Конечно, вы можете создавать свои собственные блокноты и запускать их через командную строку, например, с помощьюrunipy
. Было бы проще: напишите свой код в своем любимом редакторе и скопируйте результаты в блокнот, прежде чем отправлять домашнее задание :) - person cel   schedule 03.02.2015json
и манипулировать блокнотом с помощью emacs. Так что, в принципе, можно писать и редактировать блокноты, даже не используя графический интерфейс. Конечно, это не очень приятное решение. Но я сомневаюсь, что есть лучшее решение этой довольно необычной проблемы. - person cel   schedule 03.02.2015