【问题标题】:create a raw python file in jupyter notebook在 jupyter notebook 中创建一个原始 python 文件
【发布时间】:2026-02-10 22:30:02
【问题描述】:

我是 Python 新手。我开始用 Jupyter notebook 学习它。测试python代码的同时我可以记录我在Jupiter支持的markdown中学到的东西非常有用。

在我开始使用模块/包之前,我注意到每个文件都以“笔记本扩展名 .ipynb 结尾。我知道为了让 Jupyter 拥有这种漂亮的可视化效果,它必须存储文件以某种格式。

有没有使用 Jupyter 创建原始 python 文件的解决方案?

如果我必须安装其他插件来完成此操作,我可以。

【问题讨论】:

    标签: python ipython jupyter-notebook jupyter


    【解决方案1】:

    其实 jupyter 允许创建纯文本文件:

    创建一个新的文本文件

    保存带有python扩展名的文本文件

    【讨论】:

      【解决方案2】:

      如果您创建了一个 jupyter notebook (.ipynb),并且您的目标是从中创建一个 python 可执行文件 (.py),您可以直接使用“文件 > 下载为 > Python (.py) 中的菜单选项"如下图。

      【讨论】:

        【解决方案3】:

        要从现有笔记本 (somenotebook.ipynb) 创建 python 文件,请运行

        jupyter nbconvert somenotebook.ipynb --to script

        这将创建somenotebook.py

        【讨论】:

          【解决方案4】:

          另一种创建 python 文件并在 Jupyter notebook 单元中执行它的方法如下:

          【讨论】:

          • 谢谢!太棒了!尽管用 JS、Go 和 Rust 开发软件 8 年,但我无法让 Python 环境在我的机器上可靠地工作,所以我只是在 FloydHub 上做所有事情?
          【解决方案5】:

          我在 jupyter notebook 中没有找到这样的选项,但是你可以创建一个空的 *.py 文件,然后用 jupyter 打开。它比纯文本更好,因为你会得到彩色文本。

          【讨论】:

          • Python 文件是扩展名为 .py 的纯文本。
          • 仅供参考:源代码是纯文本,Python 文件也不例外。
          【解决方案6】:

          另一种将代码从 jupyter 笔记本单元格添加到 .py 的方法是使用内置的 Magic 命令 %logstart

          %writefile 将当前单元格代码保存到 .py 文件中。

          %logstart

          来自Documentation

          在会话中的任意位置开始记录。

          %logstart [-o|-r|-t|-q] [log_name [log_mode]]

          如果未指定名称,则默认为您当前目录中名为ipython_log.py 的文件,处于rotate 模式(见下文)。

          %logstart namebackup 模式下保存到文件name。它会保存您的历史记录,然后继续记录。

          %logstart 采用第二个可选参数:logging mode。这可以是其中之一(请注意,模式未加引号):

          append
          Keep logging at the end of any existing file.
          
          backup
          Rename any existing file to name~ and start name.
          
          global
          Append to a single logfile in your home directory.
          
          over
          Overwrite any existing log.
          
          rotate
          Create rotating logs: name.1~, name.2~, etc.
          

          查看documentation中的更多选项

          例子:

          %logstop
          %logstart -ort sample.py append
          

          上述命令将所有 Jupyter notebook 代码附加到 sample.py

          注意:应该在第一个单元格中运行

          【讨论】: