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

我最近转移到使用IPython笔记本电脑作为我的工作stream程的一部分。 但是,我还没有find一种方法将.py文件导入到一个开放的IPython笔记本的单个单元中,以便它们可以编辑,运行并保存。 可以这样做吗?

我已经在文档中发现了这个 ,告诉我如何将.py文件导入为新的笔记本,但这不符合我想要实现的内容。

任何build议将非常感谢,提前感谢。

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

如果你执行一个单元格包含:

 %load filename.py 

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

要将单元格内容保存回文件中,请在单元格的开头添加单元魔术%%writefile filename.py写入文件%%writefile filename.py并运行它。 注意,如果一个同名的文件已经存在, 它会被默默覆盖

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

有关魔术function的一般帮助,请键入“%magic”有关可用魔术function的列表,请使用%lsmagic。 有关其中任何一个的描述,请键入%magic_name ?,例如'%cd?'。

另请参阅:来自官方IPython文档的魔术function 。

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

写/保存

%%writefile myfile.py

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

跑步

%run myfile.py

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

加载/导入

%load myfile.py

  • 加载“导入”myfile.py到当前单元格

更多的魔法和帮助

%lsmagic

  • 列出所有其他酷的单元格魔术命令。

%COMMAND-NAME?

  • 寻求如何使用某个命令的帮助。 即%run?

注意

除了单元魔术命令之外,IPython笔记本(现在是Jupyter笔记本)非常酷,它允许您使用任何来自单元格的unix命令(这也等同于使用%%bash单元魔术命令)。

要从单元中运行unix命令,只需在命令前加上! 标记。 例如:

  • !python --version看你的python版本
  • !python myfile.py运行myfile.py并将结果输出到当前单元格中,就像%run (请参阅下面的注释中的!python%run之间的区别)。

另外,请参阅这个nbviewer进一步解释与例子。 希望这可以帮助。

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

否则从你最喜欢的编辑器复制/粘贴;)

我发现在ipython笔记本中使用ls和cd来find文件是令人满意的。 然后inputcat your_file_name到单元格中,然后您将找回文件的内容,然后将其作为代码粘贴到单元格中。