在Jupyter笔记本中,如何安排子程序以便有效地编写项目?

时间:2016-01-18 21:48:37

标签: python ipython ipython-notebook jupyter jupyter-notebook

我想在Jupiter中使用Python编写一个程序。为了简单起见,最好先编写一些子程序(函数),然后在编写主脚本之前先写一些用户定义的类。我如何在木星中安排它们?只是每个子函数/类为一个新行并按顺序写,然后在下面编写主脚本来调用子程序?我只是想知道这是否是使用Jupyter的正确方法。

我是Jupyter和Python的新手,但是在Matlab中,我会创建一个包含所有子函数的文件夹。我还将在同一文件夹中编写一个脚本来调用这些函数来完成任务。但是,如何使用Jupyter在Python中实现这一点?

2 个答案:

答案 0 :(得分:2)

我主要使用笔记本进行数据分析。我的工作流程如下:在开发过程中,我在笔记本单元格中声明了所有例程。当我需要为下一个数据集使用相同的函数时,我经常将它们复制粘贴到新笔记本中。通常,我必须稍微调整新数据集的功能。当事实证明我在may笔记本中经常使用函数时,我创建了一个单独的模块(yust是一个python文件,其中复制粘贴了函数)并将这个我的“全局”python目录(~/python)放在我的系统。这个功能在我的$pythonpath中,因此,在下一个笔记本中我可以简单地说

from read_data_functions import square_measurement, long_run

答案 1 :(得分:-1)

对于您希望所有笔记本访问的重复代码,最好的办法是将其添加到配置文件目录中。笔记本将按顺序加载该目录中的所有脚本,因此如果您希望按特定顺序加载,建议您命名文件01-<projname>.py。该目录中的所有文件都将通过exec加载,该文件就像在您的上下文中一样执行文件,它不是模块加载,因此全局变量会相互压缩,所有模型上下文都将在之后是您的本地命名空间(类似于import *效果)。

要查找您的个人资料目录,文档建议您使用ipython locate profile <my_profile_name>。这将告诉您可以放置​​脚本的位置。