Il s'agit d'un script qui peut être utilisé lorsqu'il existe plusieurs fichiers ipynb pour le notebook Jupyter et que vous souhaitez les combiner dans un fichier html, puis les combiner en un seul endroit.
Recherche et convertit récursivement les fichiers ipynb, même si le fichier s'étend sur plusieurs dossiers.
Vous pouvez le convertir en utilisant le script suivant.
import shutil
from pathlib import Path
import subprocess
output_folder = "Chemin du dossier où le fichier html est enregistré"
notebook_folder = "Chemin d'accès au dossier dans lequel le fichier ipynb est stocké"
path_to_notebook_folder = Path(notebook_folder)
path_to_output_folder = Path(output_folder)
for path_to_ipynb in path_to_notebook_folder.rglob("*.ipynb"):
print(str(path_to_ipynb))
proc = subprocess.run(["jupyter", "nbconvert", "--to", "html", str(path_to_ipynb)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(proc.stdout.decode("utf8"))
print(proc.stderr.decode("utf8"))
path_to_src_html = path_to_ipynb.with_suffix(".html")
path_to_dest_html = path_to_output_folder.joinpath(path_to_src_html.name)
shutil.move(str(path_to_src_html), str(path_to_dest_html))
Le rglob (" * .ipynb ") ʻof
pathlib.Pathrecherche récursivement les fichiers ipynb dans le dossier spécifié. Utilisez
glob (" * .ipynb ") ʻsi vous ne voulez pas effectuer de recherche récursive.
for path_to_ipynb in path_to_notebook_folder.rglob("*.ipynb"):
print(str(path_to_ipynb))
Pour convertir un fichier notebook jupyter en html, utilisez la commande linux
jupyter nbconvert --to html "chemin du fichier ipynb"
ça ira.
Utilisez subprocess.run
pour exécuter des commandes linux en python.
subprocess.run(["jupyter", "nbconvert", "--to", "html", "chemin du fichier ipynb"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Enfin, déplacez le fichier html généré par shutil.move
vers le dossier spécifié.
shutil.move(str(path_to_src_html), str(path_to_dest_html))
Recommended Posts