我正在一个包含不同笔记本,不同语言的Jupyter目录中工作。当我打开Python笔记本时,我希望Python内核自动导入特定模块(如果在同一文件夹中找到)。

例如,假设我有以下文件树:

root_folder
  |- subfolder_1
  |    |- script1.ipynb
  |    |- script2.ipynb
  |    `- startup.py
  `- subfolder_2
       `- script3.ipynb


我希望Python内核在startup.pyscript1.ipynb打开时自动导入script2.ipynb模块。对于script3.ipynb,我不想引发任何错误(但尝试导入startup.py,以防它存在)。

目标是提供某些文件夹特定的功能,而无需手动导入此模块。

我知道写from startup import *并不“昂贵”,但是我想不用它。

最佳答案

您可以利用启动文件。

您应该能够在<profile>/startup目录中找到它们。

docs复制:


  如果要在每个IPython的开头运行一些代码
  特定配置文件的会话,最简单的方法是添加Python
  (.py)或IPython(.ipy)脚本到/ startup目录。
  该目录中的文件将始终在IPython上立即执行
  shell已构建,并且在您拥有任何其他代码或脚本之前
  指定。如果启动目录中有多个文件,则它们
  将按字典顺序运行,因此您可以控制顺序
  通过添加“ 00-”前缀。

10-06 08:39