繁体   English   中英

使用 Jupyter 笔记本作为 function 调用

[英]Use Jupyter notebooks as function calls

如何调用*.ipynb文件,就好像它是通用 python function 接受输入并产生 output 一样?

例如, graph_parser.ipynb是一个 Jupyter 笔记本,它需要一些文件路径作为输入(例如.\location\big_graph.txt )并生成 output 一些 pyhton object。 想象一个通用的 python 脚本,例如在网络服务器上运行,使用notebook_result = run_notebook("local/path/to/graph_parser.ipynb", ".\location\big_graph.txt")调用笔记本并获取 pyhton object由分配给notebook_result的笔记本生成。

您将如何实现这一目标? 如何调用*.ipynb文件,传入一些 arguments 并获取计算的 output? 我知道工具 nbconvert 提供了python API 以编程方式执行*.ipynb file ,所以我想一种方法是在*.ipynb文件中硬编码一个输入和一个 Z78E6221F6393D1456681DB,以寻找更灵活的应用程序文件夹。

动机

我想将 Jupyter Notebooks 用作 function 调用,因为它们提供了一种快速可视化和改进复杂管道中的处理步骤的方法。 在我参与的一个项目中,我们结束了复制笔记本的代码,用于将边缘列表转换为复杂的 python object。 我们需要notenook,因为它对实验很有用,但我们还需要一个独立的 python function 来解析服务器端的图形。

您似乎在寻找Papermill 它有很多运行方式并且很灵活。 您可以在您将调用的笔记本中进行编程,以制作您想要的 Python object,例如一组腌制数据等。请参阅与您的帖子标题相似的这篇文章

与此相关,您可以使用 jupytext 来运行笔记本代码。 如果需要,Jupytext 可以让您转换为 python,然后如果您有魔法,可以通过将扩展名更改为.ipy来使其成为 ipython。 它还可以执行笔记本,并且根据您的操作方式,您可以在运行它们或制作模板之前将内容注入其中。

比造纸厂更复杂的是ploomber

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM