我正在尝试将ipython
笔记本文件下载为.py文件。除了.py
文件在单元格边界穿插"In: []"
之外,它工作得相当好。我可以和他们住在一起,但我宁愿他们不在。
任何简单的修复?
示例输出(我在.py
文件中看到的内容):
# In[4]:
# Get names of all files
text_files = glob.glob('hw3data/*')
#print text_files
# In[5]:
def file_contents(file_name):
with open(file_name) as f:
return f.read()
编辑:基本上,我想知道是否有可能使笔记本本身不输出#In []。是否有命令行选项,实用程序或某种%魔法?
编辑:按https://github.com/ipython/ipython/issues/5780进行,看起来建议的解决方案只是使用自定义模板。来自minrk:
它只是一个标记,指示细胞的位置。它是设计的,但它对Python没有影响,因为它是一个注释。如果要删除它们,可以使用不添加这些注释的自定义导出器模板。
答案 0 :(得分:1)
试
def rc(in_, out_):
in_ = open(in_, 'r')
out_ = open(out_,'w')
out_.write(in_.readline())
for line in in_:
if not line.lstrip().startswith('# In['):
out_.write(line)
in_.close()
out_.close()
rc('~/in_file.py', '~/out_file.py')
答案 1 :(得分:0)
作为临时黑客,我发现删除nbconvert
(ipython/IPython/nbconvert/templates/python.tpl
中site-packages
)的python导出模板的第7行到第9行会停止输出提示输出。这仍然不是理想的,因为我正在修改网站包。
受影响的行:
{% block in_prompt %}
# In[{{ cell.prompt_number if cell.prompt_number else ' ' }}]:
{% endblock in_prompt %}