Del*_*lla 5 comments shebang python-3.x jupyter-notebook
抱歉,是否已经提出要求,或者解决方案是否简单。
使用Jupyter Notebook进行Python脚本编写。当我将笔记本作为.py文件下载时(通过单击File-> Download as-> Python(.py)),Jupyter添加了一堆多余的注释行。它添加了一些解释器shebang,在开始处编码了声明,然后#In[], #Out[]
为每个单元格等等。为了使事情更麻烦,shebang看起来像
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
即使我使用的是python3内核。
尽管我确信它是最好的意图,但我经常想拥有自己的解释器指令,而完全跳过其他注释行,因为它们只会增加混乱。
如何仅下载原始代码,仅包含我插入的注释以及单元格之间只有换行符而分隔的原始代码?另外,我想知道一个永久性的解决方案,用于更改配置以这种方式下载,以解决我机器上的所有ipynb文件,而不是一次性的命令。
你可以使用这个命令:
jupyter nbconvert --to python "path/to/notebook.ipynb" \
--TemplateExporter.exclude_markdown=True \
--TemplateExporter.exclude_output_prompt=True \
--TemplateExporter.exclude_input_prompt=True
Run Code Online (Sandbox Code Playgroud)
它将生成一个 Python 文件,其中仅包含您的 Python 代码,不包含 #In[], #Out[]
\
命令中的in 只是将命令写在多行上,可以删除。
要使此配置永久化:
jupyter_nbconvert_config.py
在目录内创建一个名为的文件~/.jupyter/
。如果目录不存在,则创建该目录。
在文件里面写:
from nbconvert import TemplateExporter
TemplateExporter.exclude_markdown=True
TemplateExporter.exclude_output_prompt=True
TemplateExporter.exclude_input_prompt=True
Run Code Online (Sandbox Code Playgroud)现在您可以运行以下命令:
jupyter nbconvert --to python "path/to/notebook.ipynb"
Run Code Online (Sandbox Code Playgroud)
获取仅包含代码的 Python 文件。