[英]How to load/edit/run/save text files (.py) into an IPython notebook cell?
我最近开始使用 IPython 笔记本作为我工作流程的一部分。 但是,我没有成功找到一种方法将 .py 文件导入到打开的 IPython 笔记本的各个单元格中,以便它们可以编辑、运行然后保存。 这可以做到吗?
我在文档中找到了这个,它告诉我如何将 .py 文件作为新笔记本导入,但这没有达到我想要实现的目标。
任何建议将不胜感激。
编辑:从 IPython 3(现在是 Jupyter 项目)开始,笔记本有一个文本编辑器,可以用作加载/编辑/保存文本文件的更方便的替代方法。
可以使用魔法命令%load
将文本文件加载到笔记本单元格中。
如果您执行包含以下内容的单元格:
%load filename.py
filename.py
的内容将被加载到下一个单元格中。 您可以像往常一样编辑和执行它。
要将单元格内容保存回文件,请在单元格开头添加 cell-magic %%writefile filename.py
并运行它。 请注意,如果已存在同名文件,它将被悄悄覆盖。
要查看任何魔术命令的帮助,请添加?
: 喜欢%load?
或%%writefile?
.
有关魔术函数的一般帮助,请键入“%magic”。有关可用魔术函数的列表,请使用 %lsmagic。 对于其中任何一个的描述,键入 %magic_name?,例如 '%cd?'。
另请参阅:官方 IPython 文档中的魔术函数。
%%writefile myfile.py
-a
附加)。 另一个别名: %%file myfile.py
%run myfile.py
%load myfile.py
%lsmagic
%COMMAND-NAME?
%run?
除了单元魔术命令,IPython notebook(现在是 Jupyter notebook)非常酷,它允许您直接从单元使用任何 unix 命令(这也相当于使用%%bash
cell magic 命令)。
要从单元中运行 unix 命令,只需在命令前加上!
标记。 例如:
!python --version
查看你的 python 版本!python myfile.py
运行 myfile.py 并在当前单元格中输出结果,就像%run
(请参阅下面注释中的!python
和%run
之间的区别)。另外,请参阅此 nbviewer以获取示例的进一步说明。 希望这可以帮助。
在 Ipython notebooks“home” notebooks 表中拖放一个 Python 文件,点击上传。 这将创建一个只有一个包含 .py 文件内容的单元格的新笔记本
其他从你最喜欢的编辑器复制/粘贴;)
我发现在 ipython notebook 中使用 ls 和 cd 来查找文件是令人满意的。 然后在单元格中键入 cat your_file_name,您将获得文件的内容,然后您可以将其作为代码粘贴到单元格中。
对于这个问题,我还没有找到令人满意的答案,即如何加载编辑、运行和保存。 如果您想在 git 中显示增量更改,则使用%%writefile
或%save -f
覆盖都不起作用。 看起来您删除了filename.py
所有行并添加了所有新行,即使您只编辑了 1 行。
写入存在或不存在的文件中,请使用以下内容
%%writefile script2.py
print(4+5)
print(5+5)
附加到文件使用 -a 参数
%%writefile -a script2.py
print("hello")
当你加载文件时
%load script2.py
print(4+5)
print(5+5
print("hello")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.