我知道有一些问题,但我没有发现任何足够强大的。
目前,我正在使用一个命令,从终端创建.py,然后将它们移动到另一个文件夹:
jupyter nbconvert --to script '/folder/notebooks/notebook.ipynb' && \
mv ./folder/notebooks/*.py ./folder/python_scripts && \
然后,工作流程是在笔记本中编写代码,使用
git status
检查自上次提交以来发生的更改,创建大量的nbconvert
命令,然后将它们全部移动。我想使用类似于
!jupyter nbconvert --to script
foundin 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
。