Dies ist ein Skript, das verwendet werden kann, wenn es mehrere Jupynter-Dateien für Jupyter Notebook gibt und Sie diese zu einer HTML-Datei kombinieren und dann an einem Ort kombinieren möchten.
Rekursiv sucht und konvertiert ipynb-Dateien, auch wenn sich die Datei über mehrere Ordner erstreckt.
Sie können es mit dem folgenden Skript konvertieren.
import shutil
from pathlib import Path
import subprocess
output_folder = "Ordnerpfad, in dem die HTML-Datei gespeichert wird"
notebook_folder = "Pfad zu dem Ordner, in dem die ipynb-Datei gespeichert ist"
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))
Das rglob (" * .ipynb ")
von pathlib.Path
sucht rekursiv nach ipynb-Dateien unter dem angegebenen Ordner. Verwenden Sie glob (" * .ipynb ")
, wenn Sie nicht rekursiv suchen möchten.
for path_to_ipynb in path_to_notebook_folder.rglob("*.ipynb"):
print(str(path_to_ipynb))
Verwenden Sie den Befehl linux, um eine Jupyter-Notebook-Datei in HTML zu konvertieren
jupyter nbconvert --to html "ipynb Dateipfad"
Wird besorgt.
Verwenden Sie "subprocess.run", um Linux-Befehle in Python auszuführen.
subprocess.run(["jupyter", "nbconvert", "--to", "html", "ipynb Dateipfad"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Verschieben Sie abschließend die von "shutil.move" generierte HTML-Datei in den angegebenen Ordner.
shutil.move(str(path_to_src_html), str(path_to_dest_html))
Recommended Posts