我在项目根目录中有一个带有配置文件的 python 项目。在整个项目中,需要在几个不同的文件中访问配置文件。
所以它看起来像: <ROOT>/configuration.conf
<ROOT>/A/a.py
, <ROOT>/A/B/b.py
(当 b,a.py 访问配置文件时)。
获取项目根目录和配置文件的路径而不依赖于我所在项目中的哪个文件的最佳/最简单方法是什么?即不使用 ../../
?可以假设我们知道项目根目录的名称。
原文由 matanc1 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以按照 Django 的方式执行此操作: 从项目顶层的文件中为项目根定义一个变量。 例如,如果这是您的项目结构的样子:
在
definitions.py
你可以定义(这需要import os
):因此,在 项目根 已知的情况下,您可以 创建一个指向配置位置的变量(这可以在任何地方定义,但合乎逻辑的地方是将它放在定义常量的位置 - 例如
definitions.py
):然后,您可以使用导入语句(例如
utils.py
)轻松访问常量(在任何其他文件中):from definitions import CONFIG_PATH
。