python - 自动将 jupyter notebook 转换为 .py

标签 python bash automation jupyter-notebook ipython

我知道有一些关于此的问题,但我还没有发现任何足够可靠的问题。

目前我在终端使用一个创建 .py 的命令,然后将它们移动到另一个文件夹:

jupyter nbconvert --to script '/folder/notebooks/notebook.ipynb' &&  \
mv ./folder/notebooks/*.py ./folder/python_scripts && \

接下来的工作流程是在笔记本中编写代码,使用 git status 检查自上次提交以来发生的变化,创建可能大量的 nbconvert 命令,然后将它们全部移动.

我想使用像 !jupyter nbconvert --to scriptfound in this answer 这样的东西, 但没有创建 python 文件的单元格出现在 .py 本身中。

因为如果出现该行,我的代码将永远无法正常工作。

那么,有没有合适的方法来处理这个问题呢?一种可以自动化的方式,无需手动复制文件名、创建命令、执行然后重新开始。

最佳答案

您可以在笔记本文件的最后一个单元格中添加以下代码。

!jupyter nbconvert --to script mycode.ipynb
with open('mycode.py', 'r') as f:
    lines = f.readlines()
with open('mycode.py', 'w') as f:
    for line in lines:
        if 'nbconvert --to script' in line:
            break
        else:
            f.write(line)

它将生成 .py 文件,然后从中删除这段代码。您最终会得到一个干净的脚本,它将不再调用 !jupyter nbconvert

关于python - 自动将 jupyter notebook 转换为 .py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57373744/

相关文章:

CSS Sprite 自动化

python - django_rest_framwork 发生 "TypeError: ' 链接对象不支持项目分配”

Python:如何将成对扩展到三成?

python - 创建一个以特定斜率改变方程的函数,可用于 curve_fit

linux - 在 Jenkins 管道上运行 bash 命令

linux - 以普通用户身份执行程序(同时是 root)

bash - 通过 Pre-Receive Hook 测试 git Push 上的推送冲突

没有用于自动化的 GUI 的 Javascript(和 HTML 呈现)引擎?

python - 安装python模块时出现语法错误

java - 当时间比较评估结果为真时,如何在 Java 中实时更新 Excel .csv 文件?