从Jupyter Notebook运行并保存到.py文件

时间:2019-09-15 18:50:39

标签: python jupyter-notebook

在旧计算机上,我能够从Jupyter Notebook运行.py文件,对其进行编辑并运行。 .py文件实际上是用于所有用途的笔记本文件。我已更新到最新版本的笔记本电脑,而我不再能够这样做。如何在笔记本上使用.py文件?

我知道有多种方法可以做到这一点。我正在寻找一种方法,当您在笔记本中时,而不是打开.ipynb文件,而是选择一个已打开并表现为.ipnyb的.py文件。保存后,它将写入.py。

5 个答案:

答案 0 :(得分:1)

这不是确切答案。有一次,我能够使用python笔记本打开.py文件,并像处理笔记本文件一样对其进行处理。

但是,我已经能够使用VScode复制此行为。

https://code.visualstudio.com/docs/python/jupyter-support-py

使用VScode,您可以将所有.ipynb文件导出到.py文件,然后运行代码块。代码块用buffer_pattern分隔。

我还没有使用足够长的时间来确定它是否比python笔记本更好,但这似乎是迄今为止最好的解决方案。我以前曾尝试过使用Atom / Hydrogen,但并不喜欢这种体验。

答案 1 :(得分:0)

可以使用魔术命令%load将文本文件加载到笔记本单元格中。

如果执行包含以下内容的单元格:

%loadpy filename.py


filename.py的内容将在下一个单元格中加载。您可以照常编辑和执行它。

要将单元格内容保存回文件中,请添加cell-magic
%%writefile filename.py
在单元格的开头并运行它。

要查看任何魔术命令的帮助,请添加?:类似于%loadpy?%%writefile?
%COMMAND-NAME?
%run?

有关可用魔术功能的列表,请使用%lsmagic。 另外,还有另一个方法魔术函数%save-f,但我不建议这样做,这是保存文件的间接方法。

另请参阅-
1. Magic Functions文档
2.将此nbviewer用作示例的进一步说明。

希望对您有所帮助。

答案 2 :(得分:0)

某些编辑器(如spyder和vscode)具有jupyter笔记本功能。如果jupyter已安装在python环境中,则可以使用这些。

您可以通过在代码块顶部添加#%%来使用它。 (在vscode中,“运行单元”按钮将自动出现)

还可以将.ipynb作为.py导入,可以在上面运行以进行精美解密。

答案 3 :(得分:-1)

您可以使用以下代码将单个单元格另存为文件:%%writefile some_file_name.py

您可以使用以下代码直接从术语或其他笔记本中运行该代码:%run some_file_name.py

答案 4 :(得分:-1)

我刚刚找到了该软件包p2j,并使用了包含功能,注释和常规代码的.py文件对其进行了测试。

我按照this answer的指示使用了它,方法是:

pip install p2j
p2j -o script.py -t new_file.ipynb

您还可以添加-o标志来覆盖原始文件。

有了这个,我得到了一个工作的Jupiter笔记本,其中一个单元格中的每个代码块,并将注释作为markdown。

示例:

原始.py脚本

original .pz

已转换的.ipynb

converted .ipynb