最近,我把使用IPython笔记本作为工作流程的一部分。但是,我还没有成功地找到一种方法,将.py文件导入到打开的IPython笔记本的各个单元格中,以便对它们进行编辑、运行和保存。这能做到吗?
我在文档中找到了这一点,它告诉我如何将.py文件作为新的笔记本电脑导入,但这达不到我想要实现的目标。
任何建议都将不胜感激。
最近,我把使用IPython笔记本作为工作流程的一部分。但是,我还没有成功地找到一种方法,将.py文件导入到打开的IPython笔记本的各个单元格中,以便对它们进行编辑、运行和保存。这能做到吗?
我在文档中找到了这一点,它告诉我如何将.py文件作为新的笔记本电脑导入,但这达不到我想要实现的目标。
任何建议都将不胜感激。
在Ipython notebook“home”notebook表中拖放一个Python文件,单击上传。这将创建一个新的笔记本,其中只有一个单元格包含.py文件内容
从你最喜欢的编辑器复制/粘贴;)
我发现在ipython notebook中使用ls和cd来查找文件是令人满意的。然后在单元格中输入cat your_file_name,您将得到文件的内容,然后可以将其作为代码粘贴到单元格中。
编辑:从IPython 3(现在是Jupyter项目)开始,笔记本有一个文本编辑器,可以作为一个更方便的替代 加载/编辑/保存文本文件。
可以使用%load命令在笔记本单元格中加载文本文件。
如果你执行的单元格包含:
%load filename.py
py的内容将在下一个单元格中加载。您可以像往常一样编辑并执行它。
要将单元格内容保存回文件中,请在单元格的开头添加cell-magic %%writefile filename.py并运行它。注意,如果同名文件已经存在,它将被无声地覆盖。
要查看任何神奇命令的帮助,添加一个?:,如%load?或% % writefile ?。
有关魔术功能的一般帮助,请键入“%magic” 要获得可用的magic函数列表,请使用%lsmagic。对于描述 对于其中任何一个,键入%magic_name?,如。%的cd吗?。
请参见:来自IPython官方文档的Magic函数。
写/保存
% % writefile myfile.py
写入/保存单元格内容到myfile.py(使用-a来追加)。另一个别名:%%文件myfile.py
运行
% myfile.py运行
运行myfile.py并在当前单元格中输出结果
加载/导入
%负载myfile.py
加载“import”myfile.py到当前单元格中
更多的魔法和帮助
%lsmagic
列出所有其他酷的细胞魔法命令。
%命令名吗?
关于如何使用某个命令的帮助。即% ?
Note
除了单元格魔术命令,IPython notebook(现在是Jupyter notebook)非常酷,它允许您直接从单元格使用任何unix命令(这也相当于使用%%bash单元格魔术命令)。
要从单元格运行unix命令,只需在命令前面加上!马克。例如:
查看你的python版本 !python myfile.py运行myfile.py并在当前单元格中输出结果,就像%run一样(请参阅下面评论中的!python和%run之间的区别)。
另外,请参阅nbviewer以获得示例的进一步解释。
我还没有找到一个满意的答案这个问题,即如何加载编辑,运行和保存。如果你想在git中显示增量变化,使用%%writefile或%save -f重写都不能很好地工作。它看起来像是删除了filename.py中的所有行,并添加了所有新行,即使您只编辑了一行。
要在存在或不存在的文件中写入,请使用以下方法
%%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")