ipynb在ipynb中运行的相对路径

问题描述 投票:0回答:0

我正在处理多个需要分成各自目录的项目。每个目录都有一些 .ipynb 文件,它们利用相对路径将脚本定向到 .ipynb 位置的各种输入,因为我的团队通过 GIT 访问这些文件,这些 GIT 在不同同事的设备上可能位于不同的绝对路径中。

这一切都很好,直到我开始编写一个脚本,该脚本通过 %run 命令拉入这些其他 .ipynb 文件。当我运行这些文件中定义的函数时,它们使用我当前的工作目录作为它们自己的相对路径的起始位置。

例如,我在 GIT/tools/lemons/functions/lemon.ipynb 中有 lemon.ipynb,它使用相对路径 '..\inputs\lemonfactors.csv' 导入 GIT/tools/lemons/inputs/lemonfactors.csv.

如果我在 GIT/tools/master.ipynb 中创建一个新文件并使用 %run 导入 lemon.ipynb 文件中定义的函数,这些函数将尝试相同的相对路径,但相对于我当前的位置,所以它看起来对于不存在的 GIT/inputs/lemonfactors.csv。

如何确保在 lemon.ipynb 文件中它总是相对于它自己的文件位置?

__file__
在 Jupyter 中不起作用,所有尝试都使用 getcwd(),e tc 的变体。遇到与相对路径相同的问题。

感谢您的见解。

python jupyter-notebook path jupyter
© www.soinside.com 2019 - 2024. All rights reserved.