Як експортувати одну клітинку зошита з юпітером?


10

Зараз я працюю / формую прототипи у зошит Юпітера . Я хочу запустити частину свого коду на автономній оболонці iPython .

Наразі я експортую свій код iPython (файл -> завантажити як), а потім виконую його у своєму iPython (з% run). Це працює, але я хотів би експортувати лише одну клітинку або набір комірок. Отже, я можу запускати лише те, що я змінив у своєму зошиті Юпітера .


Я не впевнений, чи буде це сенс, як у зошиті юпітера, ядро ​​підтримує стан попередньо запущених команд, що може не відбуватися з командою ipython% run.
Рохан Садале

3
Для одного осередку можна просто скопіювати і вставити або використовувати IPython: 1 магію) %% WriteFile, см stackoverflow.com/questions/21034373 / ... або 2)% ЗБЕРЕГТИ см stackoverflow.com/questions/947810 / ... команди.
Валентас

1
@RohanSadale, що я хочу, це працювати як у своєму зошиті з юпітером, так і в оболонці ipython. мій ноутбук зроблений для спільного використання, і коли я хочу зробити команду, яка раніше виконувалася на моєму ноутбуці, але з більшим набором даних і тестуванням деяких речей на ньому, я створив її на своїй оболонці ipython.
Ману Н

@Valentas ваш коментар слід переписати як відповідь.
Ману Н

Див споріднений питання: stackoverflow.com/questions/27952428 / ...
Пірз

Відповіді:


4

Дивіться це питання про стек

Ви можете використовувати магічну команду %% захоплення Jupyter notebook для отримання виводу комірки, а потім вставити її у свій текстовий файл за допомогою

with open('output.txt', 'w') as out:
   out.write(cap.stdout)

якщо ви хочете кодувати коду до певного файлу, наприклад code.txt, ви можете використовувати магічну функцію %% writefile

%%writefile example.txt
ab = 'This is code'
a = 5
print(a+ 2)

Крім того, якщо ви хочете додати файл, ви повинні використовувати параметр -a


Я думаю, ви неправильно зрозуміли питання. Те, що я хочу експортувати, є не результатом комірки, а кодом, який я записав у цю клітинку.
Ману Н

ipython.readthedocs.io/en/stable/interactive/magics.html Тоді ви можете використовувати магічну функцію %% writefile
R__A_a_

1

Я не впевнений, чи можна експортувати лише одну клітинку в ноутбуках Юпітера .

Але я знаю, що ви можете завантажити файл python і просто скопіювати вставити ту конкретну клітинку, яку ви хочете, у свій новий ноутбук Юпітера .

Дайте мені знати, якщо вам потрібна ще допомога!


0

Один із способів цього зробити - використовувати кешовану систему кешування виходів Python для доступу до виводу комірки, щоб її можна було зберегти у файл. Вихід з пронумерованої комірки x зберігається у змінній, іменованій _x, а вихід з останньої команди - у _ін., Наприклад, збережіть вихід клітинки № 10 у файл, cell_10.pickleвикористовуючи формат підбору пітона:

import pickle
with open('cell_10.pickle', 'wb') as f:
    pickle.dump(_10, f, pickle.HIGHEST_PROTOCOL)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.