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