首页 文章

如何加载/编辑/运行/保存文本文件(.py)到IPython笔记本单元格?

提问于
浏览
180

我最近转向使用IPython笔记本作为我工作流程的一部分 . 但是,我没有成功地找到一种方法将.py文件导入到打开的IPython笔记本的各个单元格中,以便它们可以编辑,运行然后保存 . 可以这样做吗?

我在文档中找到了this,它告诉我如何将.py文件作为新笔记本导入,但这不符合我想要实现的目标 .

任何建议将不胜感激 .

4 回答

  • 3

    我发现在ipython notebook中使用ls和cd来查找文件是令人满意的 . 然后在单元格中键入cat your_file_name,然后您将获取该文件的内容,然后您可以将其作为代码粘贴到单元格中 .

  • 83

    将Python文件拖放到Ipython笔记本“home”笔记本表中,单击“上载” . 这将创建一个新的笔记本,只有一个包含.py文件内容的单元格

    从您喜欢的编辑器复制/粘贴;)

  • 7

    编辑:从IPython 3(现在是Jupyter项目)开始,笔记本有一个文本编辑器,可以作为加载/编辑/保存文本文件的更方便的替代方法 .

    可以使用magic命令 %load 在笔记本单元格中加载文本文件 .

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

    %load filename.py
    

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

    要将单元格内容保存回文件,请在单元格的开头添加cell-magic %%writefile filename.py 并运行它 . 请注意,如果已存在同名文件 it will be silently overwritten .

    要查看任何魔术命令的帮助,请添加 ? :如 %load?%%writefile? .

    有关魔术函数的一般帮助,请键入“%magic”有关可用魔术函数的列表,请使用%lsmagic . 有关其中任何一个的说明,请键入%magic_name?,例如'%光盘?' .

    另见:官方IPython文档中的Magic functions .

  • 230

    写/保存

    %%writefile myfile.py

    • 将单元格内容写入/保存到myfile.py(使用 -a 追加) . 另一个别名: %%file myfile.py

    要运行

    %run myfile.py

    • 运行myfile.py并在当前单元格中输出结果

    加载/导入

    %load myfile.py

    • 将"import" myfile.py加载到当前单元格中

    更多魔法和帮助

    %lsmagic

    • 列出所有其他酷格魔术命令 .

    %COMMAND-NAME?

    • 获取有关如何使用某个命令的帮助 . 即 %run?

    注意

    除了单元魔术命令,IPython笔记本(现在是Jupyter笔记本)非常酷,它允许您直接使用单元格中的任何unix命令(这也相当于使用 %%bash cell magic命令) .

    要从单元格运行unix命令,只需在命令前面加上 ! mark . 例如:

    • !python --version 看你的python版本

    • !python myfile.py 运行myfile.py并在当前单元格中输出结果,就像 %run 一样(请参阅下面评论中 !python%run 之间的区别) .

    另外,有关示例的进一步说明,请参见this nbviewer . 希望这可以帮助 .

相关问题