首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过命令行将IPython笔记本转换为Python文件?

如何通过命令行将IPython笔记本转换为Python文件?
EN

Stack Overflow用户
提问于 2013-06-13 08:23:02
回答 14查看 328.8K关注 0票数 344

我正在考虑使用*.ipynb文件作为事实的来源,并以编程方式将它们‘编译’成.py文件,用于计划的作业/任务。

据我所知,要做到这一点,唯一的方法是通过GUI。有没有办法通过命令行做到这一点?

EN

回答 14

Stack Overflow用户

发布于 2013-11-05 07:24:57

如果您不想每次保存时都输出Python脚本,或者不想重新启动IPython内核:

命令行上,可以使用nbconvert

代码语言:javascript
复制
$ jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb

作为一个小技巧,您甚至可以通过预先挂起的! (用于任何命令行参数)在 an IPython notebook中调用上面的命令。在笔记本中:

代码语言:javascript
复制
!jupyter nbconvert --to script config_template.ipynb

--to script成为added之前,选择是--to python--to=python,但在迈向语言不可知的笔记本系统的过程中,选择是renamed

票数 528
EN

Stack Overflow用户

发布于 2018-04-22 19:36:46

如果您想将当前目录下的所有*.ipynb文件转换为python脚本,可以执行如下命令:

代码语言:javascript
复制
jupyter nbconvert --to script *.ipynb
票数 120
EN

Stack Overflow用户

发布于 2015-06-11 17:10:21

这里有一个快速而粗糙的方法,可以在不使用V3的情况下从V4或ipynb中提取代码。它不检查单元格类型等。

代码语言:javascript
复制
import sys,json

f = open(sys.argv[1], 'r') #input.ipynb
j = json.load(f)
of = open(sys.argv[2], 'w') #output.py
if j["nbformat"] >=4:
        for i,cell in enumerate(j["cells"]):
                of.write("#cell "+str(i)+"\n")
                for line in cell["source"]:
                        of.write(line)
                of.write('\n\n')
else:
        for i,cell in enumerate(j["worksheets"][0]["cells"]):
                of.write("#cell "+str(i)+"\n")
                for line in cell["input"]:
                        of.write(line)
                of.write('\n\n')

of.close()
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17077494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档