[PYTHON] Speichern Sie .py- und .html-Dateien automatisch im Jupyter-Notizbuch.

Motivation

Ich erstelle eine Zusammenfassung der Programmierung mit dem Jupyter-Notebook, möchte jedoch eine gut aussehende (oder besser gesagt nicht vom Terminal ausgehende) HTML-Datei zum gleichen Zeitpunkt wie das automatische Speichern des Jupyter-Notebooks speichern.

Referenzierte Site

IPython and Jupyter Notebooks: Automatically Export .py and .html

Quellcode

Erstellen Sie den folgenden Code unter ~ ./. Jupyter /.

jupyter_notebook_config.py


# Based off of https://github.com/jupyter/notebook/blob/master/docs/source/extending/savehooks.rst

import io
import os
from notebook.utils import to_api_path

_script_exporter = None
_html_exporter = None

def script_post_save(model, os_path, contents_manager, **kwargs):
    """convert notebooks to Python script after save with nbconvert
    replaces `ipython notebook --script`
    """
    from nbconvert.exporters.script import ScriptExporter
    from nbconvert.exporters.html import HTMLExporter

    if model['type'] != 'notebook':
        return

    global _script_exporter
    if _script_exporter is None:
        _script_exporter = ScriptExporter(parent=contents_manager)
    log = contents_manager.log

    global _html_exporter
    if _html_exporter is None:
        _html_exporter = HTMLExporter(parent=contents_manager)
    log = contents_manager.log

    # save .py file
    base, ext = os.path.splitext(os_path)
    script, resources = _script_exporter.from_filename(os_path)
    script_fname = base + resources.get('output_extension', '.txt')
    log.info("Saving script /%s", to_api_path(script_fname, contents_manager.root_dir))
    with io.open(script_fname, 'w', encoding='utf-8') as f:
        f.write(script)

    # save html
    base, ext = os.path.splitext(os_path)
    script, resources = _html_exporter.from_filename(os_path)
    script_fname = base + resources.get('output_extension', '.txt')
    log.info("Saving html /%s", to_api_path(script_fname, contents_manager.root_dir))
    with io.open(script_fname, 'w', encoding='utf-8') as f:
        f.write(script)
c.FileContentsManager.post_save_hook = script_post_save

Speichern Sie es, starten Sie das Jupyter-Notizbuch normal und stellen Sie sicher, dass das Skript gespeichert ist. :)

Ergänzung

Wenn Sie .py nicht benötigen, kommentieren Sie einfach das Skript aus.

Vielen Dank an den Website-Administrator !!!

Recommended Posts

Speichern Sie .py- und .html-Dateien automatisch im Jupyter-Notizbuch.
HTML in Jupyter-Notizbuch anzeigen
Konvertieren Sie die JPYTER-Notebook-IPynb-Datei in die ausführbare Python-Py-Datei
Mehrfachverarbeitungsfehler in Jupyter Notebook
Betten Sie die WAV-Datei in Jupyter ein
Wird beim Starten von Jupyter Notebook automatisch in einem neuen Fenster geöffnet
Zeigen Sie Fotos in Python und HTML an
Bearbeiten Sie Dateien und Ordner in Python
Generieren Sie das Jupyter-Notizbuch ".ipynb" in Python
Betten Sie Ihr Lieblings-HTML in Jupyter ein
Jupyter Notebook: 4 banale Tipps und Tricks
Speichern und Abrufen von Dateien mit Pepper
Zeigen Sie Diagramme inline in Jupyter Notebook an
Exportieren und Ausgeben von Dateien in Python
Ermöglichen Sie Jupyter Notebook, Audiodaten zur Wiedergabe in HTML-Tabellen einzubetten
Speicherverlust im Python Jupyter Lab (Notebook)?
Verwenden Sie Jupyter Lab und Jupyter Notebook mit EC2
Erstellen Sie die Embulk-Konfiguration und führen Sie sie in Jupyter aus
Bearbeiten und speichern Sie schreibgeschützte Dateien mit vim
So führen Sie Befehle mit einem Jupyter-Notebook aus
Jupyter Notebook Grundfunktionen und Tastenkombinationen
Lesen und schreiben Sie JSON-Dateien mit Python
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
Erstellen Sie eine PYNQ-Umgebung auf Ultra96 V2 und melden Sie sich bei Jupyter Notebook an
12. Speichern Sie die erste Spalte in col1.txt und die zweite Spalte in col2.txt
Erstellen Sie automatisch Wort- und Excel-Berichte mit Python
Zeigen Sie Selenium-Screenshots in Jupyter an, ohne sie zu speichern
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
Koexistenz von Anaconda 2 und Anaconda 3 in Jupyter + Bonus (Julia)
(Unten) Zusammenarbeit zwischen Jupyter Notebook und Excel
Verwenden Sie ipywidgets in jupyter notebook, um Parameter interaktiv zu bearbeiten und anschließend die Bildverarbeitung zu versuchen