有没有方法通过命令行将.py文件转换为.ipynb文件?
有没有办法通过命令行把一个 .py 文件变成 .ipynb 文件?
我为什么想这么做呢:我想用文本编辑器来重构一些代码。我的 .ipynb 文件在服务器上,而把一个 .py 文件(通过运行 ipython notebook 并加上 --script 生成的)传输到版本控制系统(git)上,比传输 .ipynb 文件要简单得多。
理想情况下,我想做以下几件事:
- 先用
--script
运行 Notebook,这样我就得到了一个 .py 文件 - 把这个新版本的文件提交到 git,推送到服务器,然后在我的电脑上拉取
- 在我的电脑上拉取
- 在我的电脑上编辑
- 提交,推送到我的电脑,然后从服务器拉取
- 从新的 .py 文件创建 .ipynb 文件,并替换掉旧的
但是我找不到任何方法可以在服务器上从一个 .py 文件启动 iPython Notebook。
当然,我可以把 .ipynb 文件加到 git 里,但这样做有很多不好的原因。我也可以用 ftps 发送文件,但因为我经常需要这样做,所以我想找一个更好的解决方案。
2 个回答
4
来自 https://pypi.org/project/ipynb-py-convert/
pip install ipynb-py-convert
示例
ipynb-py-convert examples/plot.py examples/plot.ipynb
或者
ipynb-py-convert examples/plot.ipynb examples/plot.py
9
我觉得这里已经讲得很清楚了:https://stackoverflow.com/a/23292713/3025981。我在这里把相关的部分复制过来了:
import IPython.nbformat.current as nbf
nb = nbf.read(open('test.py', 'r'), 'py')
nbf.write(nb, open('test.ipynb', 'w'), 'ipynb')