jupyter notebook 自动生成python和html文件

命令行中运行 ipython locate profile default

找到配置文件目录


切到.jupyte目录下新建文件 jupyter_notebook_config.py

jupyter notebook 自动生成python和html文件_第1张图片

粘贴代码到 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):

    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



重启jupyter notebook,每次保存笔记本后就会自动生成python文件和html文件了

你可能感兴趣的:(jupyter notebook 自动生成python和html文件)