Wie konvertiert man eine IPython-Notizbuchdatei (json mit der Erweiterung .ipynb
) in ein reguläres Modul .py
?
Im Notizbuchmenü können Sie die Datei direkt als Python-Skript speichern. Gehen Sie zur Option 'Datei' des Menüs und wählen Sie 'Herunterladen als'. Dort erscheint die Option 'Python (.py)'.
Eine weitere Option wäre die Verwendung von nbconvert über die Befehlszeile:
jupyter nbconvert --to script 'my-notebook.ipynb'
Schauen Sie hier .
Gemäß https://ipython.org/ipython-doc/3/notebook/nbconvert.html suchen Sie nach dem Befehl nbconvert mit der Option --to script.
ipython nbconvert notebook.ipynb --to script
In short: Diese Befehlszeilenoption konvertiert mynotebook.ipynb
in python
-Code:
jupyter nbconvert mynotebook.ipynb --to python
note: Dies unterscheidet sich von oben Antwort. ipython
wurde in jupyter
umbenannt. Der alte Name der ausführbaren Datei (ipython) ist veraltet.
Weitere Details:jupyter
Befehlszeile hat ein nbconvert
-Argument, das die Konvertierung von Notebook-Dateien (*.ipynb)
in verschiedene andere Formate unterstützt.
Sie können es sogar in eines dieser Formate konvertieren, indem Sie dasselbe Kommando verwenden, jedoch eine andere --to
-Option verwenden:
der gleiche Befehl jupyter nbconvert --to latex mynotebook.ipynb
Für mehr siehe jupyter nbconvert --help
. Dafür gibt es umfangreiche Möglichkeiten. Sie können den Code sogar vor dem Konvertieren zuerst ausführen, verschiedene Optionen auf Protokollebene usw.
Sie können das folgende Skript verwenden, um ein Jupyter-Notizbuch in ein Python-Skript zu konvertieren oder den Code direkt anzuzeigen.
Schreiben Sie dazu den folgenden Inhalt in eine Datei cat_ipynb
und dann chmod +x cat_ipynb
.
#!/usr/bin/env python
import sys
import json
for file in sys.argv[1:]:
print('# file: %s' % file)
print('# vi: filetype=python')
print('')
code = json.load(open(file))
for cell in code['cells']:
if cell['cell_type'] == 'code':
print('# -------- code --------')
for line in cell['source']:
print(line, end='')
print('\n')
Elif cell['cell_type'] == 'markdown':
print('# -------- markdown --------')
for line in cell['source']:
print("#", line, end='')
print('\n')
Dann kannst du verwenden
cat_ipynb your_notebook.ipynb > output.py
Oder zeigen Sie es direkt mit vi
cat_ipynb your_notebook.ipynb | view -
zunächst einmal müssen Sie dieses Paket unten installieren:
Sudo apt install ipython
jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb
es gibt zwei Optionen: --to Python oder --to = Python Meines war so gut funktioniert:
jupyter nbconvert --to python while.ipynb
[NbConvertApp] Konvertieren des Notebooks while.ipynb in Python [NbConvertApp] Schreiben von 758 Bytes in while.py
pip3 install ipython
wenn es für Sie nicht funktioniert, versuchen Sie es mit pip3.
pip3 install ipython