我最近转向使用IPython笔记本作为我工作流程的一部分 . 但是,我没有成功地找到一种方法将.py文件导入到打开的IPython笔记本的各个单元格中,以便它们可以编辑,运行然后保存 . 可以这样做吗?
我在文档中找到了this,它告诉我如何将.py文件作为新笔记本导入,但这不符合我想要实现的目标 .
任何建议将不胜感激 .
我发现在ipython notebook中使用ls和cd来查找文件是令人满意的 . 然后在单元格中键入cat your_file_name,然后您将获取该文件的内容,然后您可以将其作为代码粘贴到单元格中 .
将Python文件拖放到Ipython笔记本“home”笔记本表中,单击“上载” . 这将创建一个新的笔记本,只有一个包含.py文件内容的单元格
从您喜欢的编辑器复制/粘贴;)
编辑:从IPython 3(现在是Jupyter项目)开始,笔记本有一个文本编辑器,可以作为加载/编辑/保存文本文件的更方便的替代方法 .
可以使用magic命令 %load 在笔记本单元格中加载文本文件 .
%load
如果执行包含以下内容的单元格
%load filename.py
filename.py 的内容将被加载到下一个单元格中 . 您可以照常编辑和执行它 .
filename.py
要将单元格内容保存回文件,请在单元格的开头添加cell-magic %%writefile filename.py 并运行它 . 请注意,如果已存在同名文件 it will be silently overwritten .
%%writefile filename.py
要查看任何魔术命令的帮助,请添加 ? :如 %load? 或 %%writefile? .
?
%load?
%%writefile?
有关魔术函数的一般帮助,请键入“%magic”有关可用魔术函数的列表,请使用%lsmagic . 有关其中任何一个的说明,请键入%magic_name?,例如'%光盘?' .
另见:官方IPython文档中的Magic functions .
%%writefile myfile.py
-a
%%file myfile.py
%run myfile.py
%load myfile.py
%lsmagic
%COMMAND-NAME?
%run?
除了单元魔术命令,IPython笔记本(现在是Jupyter笔记本)非常酷,它允许您直接使用单元格中的任何unix命令(这也相当于使用 %%bash cell magic命令) .
%%bash
要从单元格运行unix命令,只需在命令前面加上 ! mark . 例如:
!
!python --version 看你的python版本
!python --version
!python myfile.py 运行myfile.py并在当前单元格中输出结果,就像 %run 一样(请参阅下面评论中 !python 和 %run 之间的区别) .
!python myfile.py
%run
!python
另外,有关示例的进一步说明,请参见this nbviewer . 希望这可以帮助 .
4 回答
我发现在ipython notebook中使用ls和cd来查找文件是令人满意的 . 然后在单元格中键入cat your_file_name,然后您将获取该文件的内容,然后您可以将其作为代码粘贴到单元格中 .
将Python文件拖放到Ipython笔记本“home”笔记本表中,单击“上载” . 这将创建一个新的笔记本,只有一个包含.py文件内容的单元格
从您喜欢的编辑器复制/粘贴;)
可以使用magic命令
%load
在笔记本单元格中加载文本文件 .如果执行包含以下内容的单元格
filename.py
的内容将被加载到下一个单元格中 . 您可以照常编辑和执行它 .要将单元格内容保存回文件,请在单元格的开头添加cell-magic
%%writefile filename.py
并运行它 . 请注意,如果已存在同名文件 it will be silently overwritten .要查看任何魔术命令的帮助,请添加
?
:如%load?
或%%writefile?
.有关魔术函数的一般帮助,请键入“%magic”有关可用魔术函数的列表,请使用%lsmagic . 有关其中任何一个的说明,请键入%magic_name?,例如'%光盘?' .
另见:官方IPython文档中的Magic functions .
写/保存
%%writefile myfile.py
-a
追加) . 另一个别名:%%file myfile.py
要运行
%run myfile.py
加载/导入
%load 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 . 希望这可以帮助 .