Comment convertir un fichier de cahier IPython (json avec l'extension .ipynb
) en un module .py
standard?
Dans le menu du bloc-notes, vous pouvez enregistrer le fichier directement en tant que script python. Allez dans l'option "Fichier" du menu, puis sélectionnez "Télécharger en tant que" et vous verrez alors une option "Python (.py)".
Une autre option serait d’utiliser nbconvert à partir de la ligne de commande:
jupyter nbconvert --to script 'my-notebook.ipynb'
Regardez ici .
Selon https://ipython.org/ipython-doc/3/notebook/nbconvert.html vous recherchez la commande nbconvert avec l'option de script --to.
ipython nbconvert notebook.ipynb --to script
En bref: Cette option de ligne de commande convertit mynotebook.ipynb
en python
code:
jupyter nbconvert mynotebook.ipynb --to python
note: c'est différent de dessus de réponse. ipython
a été renommé en jupyter
. l'ancien nom de l'exécutable (ipython) est obsolète.
Plus de détails: La ligne de commandejupyter
a un argument nbconvert
qui permet de convertir les fichiers de cahier (*.ipynb)
en divers autres formats.
Vous pouvez même le convertir dans l’un de ces formats en utilisant la même commande, mais une option --to
différente:
la même commande jupyter nbconvert --to latex mynotebook.ipynb
Pour plus, voir jupyter nbconvert --help
. Il existe de nombreuses options pour cela. Vous pouvez même exécuter le code avant la conversion, différentes options de niveau de journalisation, etc.
Vous pouvez utiliser le script suivant pour convertir le cahier jupyter en script Python ou afficher le code directement.
Pour ce faire, écrivez le contenu suivant dans un fichier cat_ipynb
, puis 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')
Ensuite, vous pouvez utiliser
cat_ipynb your_notebook.ipynb > output.py
Ou montrez-le avec vi
directement
cat_ipynb your_notebook.ipynb | view -
eh bien tout d’abord, vous devez installer ce pack ci-dessous:
Sudo apt install ipython
jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb
deux options sont disponibles, soit --to python, soit --to = python le mien ressemblait à ceci:
jupyter nbconvert --to python while.ipynb
[NbConvertApp] Conversion du bloc-notes while.ipynb en python [NbConvertApp] Écriture de 758 octets dans while.py
pip3 install ipython
si cela ne fonctionne pas pour vous essayer, par pip3.
pip3 install ipython