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

How to load/edit/run/save text files (.py) into an IPython notebook cell?

我最近开始使用ipython笔记本作为我工作流程的一部分。但是,我没有成功地找到一种方法将.py文件导入到打开的ipython笔记本的单个单元格中,以便编辑、运行和保存它们。能做到吗?

我在文档中发现了这一点,它告诉我如何将.py文件作为新笔记本导入,但这与我想要实现的目标不符。

任何建议都会非常感谢。


EDIT: Starting from IPython 3 (now Jupyter project), the notebook has a text editor that can be used as a more convenient alternative to
load/edit/save text files.

文本文件可以通过magic命令%load加载到笔记本电脑单元中。

如果执行的单元格包含:

1
%load filename.py

EDOCX1[1]的内容将加载到下一个单元格中。您可以像往常一样编辑和执行它。

要将单元内容保存回文件中,请在单元的开头添加Cell Magic %%writefile filename.py,然后运行它。请注意,如果已经存在同名文件,它将被静默覆盖。

为了获得任何魔法命令的帮助,添加一个?:比如%load?%%writefile?

有关magic函数的常规帮助,请键入"%magic"有关可用magic函数的列表,请使用%lsmagic。描述其中任何一个,键入%magicu name?例如"%CD?".

另请参见:来自官方ipython文档的魔力函数。


写/保存

%%writefile myfile.py

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

运行

%run myfile.py

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

加载/导入

%load myfile.py

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

更多的魔法和帮助

%lsmagic

  • 列出所有其他酷的细胞魔术命令。

%COMMAND-NAME?

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

注释

除了cell magic命令外,ipython notebook(现在的jupyter notebook)非常酷,它允许您直接从cell使用任何unix命令(这也相当于使用%%bashcell magic命令)。

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

  • !python --version查看您的python版本
  • !python myfile.py运行myfile.py,输出结果在当前单元格中,就像%run一样(见下面注释中!python%run的区别)。

此外,请参阅此nbviewer以获取更多示例解释。希望这有帮助。


将python文件拖放到ipython笔记本的"home"笔记本表中,单击"上载"。这将创建一个新的笔记本,其中只有一个单元格包含.py文件内容

或者从您最喜爱的编辑器中复制/粘贴;)


我发现在ipython笔记本中使用ls和cd查找文件是令人满意的。然后在单元格中键入cat您的文件名,您将得到文件的内容,然后可以将其作为代码粘贴到单元格中。