當前位置: 首頁>>代碼示例>>Python>>正文


Python nbformat.writes方法代碼示例

本文整理匯總了Python中nbformat.writes方法的典型用法代碼示例。如果您正苦於以下問題:Python nbformat.writes方法的具體用法?Python nbformat.writes怎麽用?Python nbformat.writes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在nbformat的用法示例。


在下文中一共展示了nbformat.writes方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: merge_notebooks

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def merge_notebooks(filenames):
    merged = None
    for fname in filenames:
        with io.open(fname, 'r', encoding='utf-8') as f:
            nb = nbformat.read(f, as_version=4)
        if merged is None:
            merged = nb
        else:
            # TODO: add an optional marker between joined notebooks
            # like an horizontal rule, for example, or some other arbitrary
            # (user specified) markdown cell)
            merged.cells.extend(nb.cells)
    if not hasattr(merged.metadata, 'name'):
        merged.metadata.name = ''
    merged.metadata.name += "_merged"
    print(nbformat.writes(merged)) 
開發者ID:sony,項目名稱:nnabla,代碼行數:18,代碼來源:nbmerge.py

示例2: update_ipynb_toc

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def update_ipynb_toc(root):
    """Change the toc code block into a list of clickable links"""
    notebooks = find_files('**/*.ipynb', root)
    for fn in notebooks:
        nb = notebook.read(fn)
        if not nb:
            continue
        for cell in nb.cells:
            if (cell.cell_type == 'markdown' and '```toc' in cell.source):
                md_cells = markdown.split_markdown(cell.source)
                for c in md_cells:
                    if c['type'] == 'code' and c['class'] == 'toc':
                        toc = []
                        for l in c['source'].split('\n'):
                            if l and not l.startswith(':'):
                                toc.append(' - [%s](%s.ipynb)'%(l,l))
                        c['source'] = '\n'.join(toc)
                        c['type'] = 'markdown'
                cell.source = markdown.join_markdown_cells(md_cells)
        with open(fn, 'w') as f:
            f.write(nbformat.writes(nb)) 
開發者ID:d2l-ai,項目名稱:d2l-book,代碼行數:23,代碼來源:build.py

示例3: process_and_eval_notebook

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def process_and_eval_notebook(input_fn, output_fn, run_cells, timeout=20*60,
                              lang='python', tab=None, default_tab=None):
    with open(input_fn, 'r') as f:
        md = f.read()
    nb = notebook.read_markdown(md)
    if tab:
        # get the tab
        nb = notebook.split_markdown_cell(nb)
        nb = notebook.get_tab_notebook(nb, tab, default_tab)
        if not nb:
            logging.info(f"Skip to eval tab {tab} for {input_fn}")
            # write an emtpy file to track the dependencies
            open(output_fn, 'w')
            return
    # evaluate
    if run_cells:
        # change to the notebook directory to resolve the relpaths properly
        cwd = os.getcwd()
        os.chdir(os.path.join(cwd, os.path.dirname(output_fn)))
        notedown.run(nb, timeout)
        os.chdir(cwd)
    # write
    nb['metadata'].update({'language_info':{'name':lang}})
    with open(output_fn, 'w') as f:
        f.write(nbformat.writes(nb)) 
開發者ID:d2l-ai,項目名稱:d2l-book,代碼行數:27,代碼來源:build.py

示例4: sample_perf

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def sample_perf(nb, n=30):
    samples = pd.DataFrame(
        pd.np.NaN,
        index=pd.MultiIndex.from_product(
            (range(n), ['nbformat'] + JUPYTEXT_FORMATS), names=['sample', 'implementation']),
        columns=pd.Index(['size', 'read', 'write'], name='measure'))

    for i, fmt in samples.index:
        t0 = time.time()
        if fmt == 'nbformat':
            text = nbformat.writes(nb)
        else:
            text = jupytext.writes(nb, fmt)
        t1 = time.time()
        samples.loc[(i, fmt), 'write'] = t1 - t0
        samples.loc[(i, fmt), 'size'] = len(text)
        t0 = time.time()
        if fmt == 'nbformat':
            nbformat.reads(text, as_version=4)
        else:
            jupytext.reads(text, fmt)
        t1 = time.time()
        samples.loc[(i, fmt), 'read'] = t1 - t0
    return samples 
開發者ID:mwouts,項目名稱:jupytext,代碼行數:26,代碼來源:Benchmarking Jupytext.py

示例5: notebook_to_md

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def notebook_to_md(notebook):
    """Convert a notebook to its Markdown representation, using Pandoc"""
    tmp_file = tempfile.NamedTemporaryFile(delete=False)
    tmp_file.write(ipynb_writes(notebook).encode("utf-8"))
    tmp_file.close()

    pandoc(
        u"--from ipynb --to markdown -s --atx-headers --wrap=preserve --preserve-tabs",
        tmp_file.name,
        tmp_file.name,
    )

    with open(tmp_file.name, encoding="utf-8") as opened_file:
        text = opened_file.read()

    os.unlink(tmp_file.name)
    return "\n".join(text.splitlines()) 
開發者ID:mwouts,項目名稱:jupytext,代碼行數:19,代碼來源:pandoc.py

示例6: _save_notebook

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def _save_notebook(self, path, nb):
        """
        Uploads notebook to GCS.
        :param path: blob path.
        :param nb: :class:`nbformat.notebooknode.NotebookNode` instance.
        :return: created :class:`google.cloud.storage.Blob`.
        """
        bucket_name, bucket_path = self._parse_path(path)
        bucket = self._get_bucket(bucket_name, throw=True)
        data = nbformat.writes(nb, version=nbformat.NO_CONVERT)
        blob = bucket.blob(bucket_path)
        blob.upload_from_string(data, "application/x-ipynb+json")
        return blob 
開發者ID:src-d,項目名稱:jgscm,代碼行數:15,代碼來源:__init__.py

示例7: test_jupyter_nbconvert_cli

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def test_jupyter_nbconvert_cli(tmpdir, download_notebook):
    ipynb_filename = os.path.join(tmpdir, 'download_notebook.ipynb')
    with open(ipynb_filename, 'w', encoding='utf8') as file:
        file.write(nbformat.writes(download_notebook))

    app = nbconvertapp.NbConvertApp()
    app.initialize(argv=[ipynb_filename, '--to', 'jupyter_docx_bundler.DocxExporter'])
    app.convert_notebooks() 
開發者ID:m-rossi,項目名稱:jupyter-docx-bundler,代碼行數:10,代碼來源:test_bundler.py

示例8: _save_notebook

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def _save_notebook(self, path, nb):
        """Save a notebook to an os_path."""
        s = nbformat.writes(nb, version=nbformat.NO_CONVERT)
        self._pyfilesystem_instance.writetext(path, s) 
開發者ID:jpmorganchase,項目名稱:jupyter-fs,代碼行數:6,代碼來源:fsmanager.py

示例9: write_notebook_output

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def write_notebook_output(notebook, output_dir, notebook_name, location=None):
    """Extract output from notebook cells and write to files in output_dir.

    This also modifies 'notebook' in-place, adding metadata to each cell that
    maps output mime-types to the filenames the output was saved under.
    """
    resources = dict(unique_key=os.path.join(output_dir, notebook_name), outputs={})

    # Modifies 'resources' in-place
    ExtractOutputPreprocessor().preprocess(notebook, resources)
    # Write the cell outputs to files where we can (images and PDFs),
    # as well as the notebook file.
    FilesWriter(build_directory=output_dir).write(
        nbformat.writes(notebook),
        resources,
        os.path.join(output_dir, notebook_name + ".ipynb"),
    )
    # Write a script too.  Note that utf-8 is the de facto
    # standard encoding for notebooks. 
    ext = notebook.metadata.get("language_info", {}).get("file_extension", None)
    if ext is None:
        ext = ".txt"
        js.logger.warning(
            "Notebook code has no file extension metadata, " "defaulting to `.txt`",
            location=location,
        )
    contents = "\n\n".join(cell.source for cell in notebook.cells)
    with open(os.path.join(output_dir, notebook_name + ext), "w",
              encoding = "utf8") as f:
        f.write(contents) 
開發者ID:jupyter,項目名稱:jupyter-sphinx,代碼行數:32,代碼來源:execute.py

示例10: get_notebook_scaffolding

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def get_notebook_scaffolding(kernelspec):
    check.dict_param(kernelspec, 'kernelspec', key_type=str, value_type=str)

    notebook = nbformat.v4.new_notebook()

    notebook.cells = [get_import_cell(), get_parameters_cell()]

    metadata = {'celltoolbar': 'Tags', 'kernelspec': kernelspec}

    notebook.metadata = metadata

    return nbformat.writes(notebook) 
開發者ID:dagster-io,項目名稱:dagster,代碼行數:14,代碼來源:cli.py

示例11: path_to_intermediate

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def path_to_intermediate(path):
    """Name of the intermediate file used in atomic writes.
    The .~ prefix will make Dropbox ignore the temporary file."""
    dirname, basename = os.path.split(path)
    return os.path.join(dirname, '.~' + basename) 
開發者ID:hopshadoop,項目名稱:hdfscontents,代碼行數:7,代碼來源:hdfsio.py

示例12: atomic_writing

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def atomic_writing(self, hdfs_path):
        """wrapper around atomic_writing that turns permission errors to 403.
        Depending on flag 'use_atomic_writing', the wrapper perform an actual atomic writing or
        simply writes the file (whatever an old exists or not)"""
        with self.perm_to_403(hdfs_path):
            if self.use_atomic_writing:
                with atomic_writing(self.hdfs, hdfs_path) as f:
                    yield f
            else:
                with _simple_writing(self.hdfs, hdfs_path) as f:
                    yield f 
開發者ID:hopshadoop,項目名稱:hdfscontents,代碼行數:13,代碼來源:hdfsio.py

示例13: _save_notebook

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def _save_notebook(self, hdfs_path, nb):
        """Save a notebook to an os_path."""
        # Convert the notebook to unicode string
        notebook_json = nbformat.writes(nb, version=nbformat.NO_CONVERT)

        with self.atomic_writing(hdfs_path) as f:
            # Write the notebook on hdfs
            f.write(notebook_json.encode('utf-8')) 
開發者ID:hopshadoop,項目名稱:hdfscontents,代碼行數:10,代碼來源:hdfsio.py

示例14: dumps

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def dumps(self, nb):
        return nbformat.writes(nb, _NBFORMAT_VERSION) 
開發者ID:podoc,項目名稱:podoc,代碼行數:4,代碼來源:_notebook.py

示例15: from_file

# 需要導入模塊: import nbformat [as 別名]
# 或者: from nbformat import writes [as 別名]
def from_file(self, filename):
        import nbformat
        from nbconvert import MarkdownExporter
        from jinja2 import DictLoader
        from traitlets.config import Config

        c = Config()
        # c.ExtractOutputPreprocessor.extract_output_types = set()
        c.ExtractOutputPreprocessor.output_filename_template = 'images/{unique_key}_{cell_index}_{index}{extension}'
        c.NbConvertBase.display_data_priority = ['application/javascript', 'text/html', 'text/markdown',
                                                 'image/svg+xml', 'text/latex', 'image/png', 'image/jpeg',
                                                 'text/plain']

        nb = nbformat.read(filename, as_version=4)

        dl = DictLoader({'full.tpl': TEMPLATE})
        md_exporter = MarkdownExporter(config=c, extra_loaders=[
                                       dl], template_file='full.tpl')
        (body, resources) = md_exporter.from_notebook_node(nb)

        self.kp_write(body, images={name.split(
            'images/')[1]: data for name, data in resources.get('outputs', {}).items()})

        # Add cleaned ipynb file
        for cell in nb['cells']:
            if cell['cell_type'] == 'code':
                cell['outputs'] = []  # remove output data
                cell['execution_count'] = None  # reset to not executed
        self.kp.write_src(os.path.basename(filename), nbformat.writes(nb)) 
開發者ID:airbnb,項目名稱:knowledge-repo,代碼行數:31,代碼來源:ipynb.py


注:本文中的nbformat.writes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。