我正在考虑使用*。Ipynb文件作为真相的来源,并以编程方式将它们“编译”为.py文件,用于计划的作业/任务。
我所理解的做到这一点的唯一方法是通过GUI。有没有办法通过命令行来实现?
我正在考虑使用*。Ipynb文件作为真相的来源,并以编程方式将它们“编译”为.py文件,用于计划的作业/任务。
我所理解的做到这一点的唯一方法是通过GUI。有没有办法通过命令行来实现?
当前回答
我知道这是一个老话题了。我也遇到过同样的问题,想通过命令行将.pynb文件转换为.py文件。
我的搜索把我带到了ipynb-py-convert
通过以下步骤,我能够得到.py文件
安装pip Install ipynb-py-convert 通过命令提示符进入ipynb文件所在目录 输入命令
ipynb-py-convert你的文件名。ipynb YourFilename.py
如:。ipynb-py-convert getting-started-with-kaggle-titanic-problem。ipynb getting-started-with-kaggle-titanic-problem.py
上面的命令将创建一个名为“YourFileName.py”的python脚本,根据我们的示例,它将创建一个“getting-start -with-kaggle-titanic-problem.py”文件
其他回答
在你的工具链中有Jupytext是很好的。它不仅允许从笔记本到脚本的转换,而且还可以从脚本返回到笔记本。甚至把那本笔记本打印出来。
jupytext --to py notebook.ipynb # convert notebook.ipynb to a .py file
jupytext --to notebook notebook.py # convert notebook.py to an .ipynb file with no outputs
jupytext --to notebook --execute notebook.py # convert notebook.py to an .ipynb file and run it
用于转换所有*。Ipynb将当前目录下的文件递归格式化为python脚本:
for i in *.ipynb **/*.ipynb; do
echo "$i"
jupyter nbconvert "$i" "$i"
done
遵循前面的例子,但是使用了新的nbformat lib版本:
import nbformat
from nbconvert import PythonExporter
def convertNotebook(notebookPath, modulePath):
with open(notebookPath) as fh:
nb = nbformat.reads(fh.read(), nbformat.NO_CONVERT)
exporter = PythonExporter()
source, meta = exporter.from_notebook_node(nb)
with open(modulePath, 'w+') as fh:
fh.writelines(source.encode('utf-8'))
有一个非常好的包叫做nb_dev,它是为在Jupyter notebook中编写Python包而设计的。与nbconvert一样,它可以将笔记本转换为.py文件,但它更灵活、更强大,因为它有许多不错的额外创作功能,可以帮助您在PyPI上开发测试、文档和注册包。它是快速发展起来的。人工智能的人。
它有一点学习曲线,但文档很好,总体上不难。
我发现有两种方法可以用命令行将Jupyter Notebook转换为普通的Python脚本。下面是Jupyter笔记本的示例和两个工具的输出。
1. 使用nbconvert
nbconvert是在Jupyter Notebook用户界面下载中作为功能使用的工具。它可以用作命令行工具:
jupyter nbconvert --to python notebook.ipynb
Python脚本示例:
2. 使用jupytext
jupytext是一个保持.ipynb文件与.py文件同步的包。它还可以用于在命令行中转换.ipynb文件。它支持几种类型的转换:
转换为轻格式的Python脚本
jupytext --to py notebook.ipynb
python脚本示例:
转换为百分比格式的Python脚本
jupytext --to py:percent notebook.ipynb
Python脚本示例: