如何确定Python中的配置文件路径?

6

我有一个模块需要通过读取配置文件来初始化一些设置。目录结构类似于:

root\
    config\
        conf.cfg
    src\
        module1.py

当我将相对路径设置为../config/conf.cfg并在当前目录中运行模块时,一切正常。但是当我在其他地方导入该模块并在另一个目录中运行它时,遇到了问题。

我应该如何设置路径,以便模块始终查找相同的相对位置(例如,模块所在目录的上一级目录),并如何确保这适用于下载我的repo的其他人(可能没有root在同一位置)?


一种方法是从安装根文件夹开始使所有路径绝对化,并从那里启动所有内容。 - sobek
我该如何设置根文件夹路径?使用环境变量吗? - drbeans345
你例子中的 root\ 是什么?配置文件不是你项目的一部分吗? - sobek
根目录是我的git仓库的根目录。配置文件是项目的一部分。 - drbeans345
然后,您将在模块中将配置路径定义为config / conf.cfg,cd到根目录并通过执行python src / module1.py来启动模块。根据您所使用的操作系统,此链接也可能会有所帮助。https://dev59.com/onE85IYBdhLWcg3wRBRU - sobek
谢谢,我会这样做的。 - drbeans345
1个回答

3
os.path.realpath(__file__) 

将为您提供当前文件的路径,并解析路径中的任何符号链接。这在我的机器上运作良好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接