如何将局部变量路径设置为 python 包?

How to set a local variable path into a python package?

我尝试像那样构建一个 python 包 :

myPackage/
    myPackage.py
    conf/
        conf1.conf
        conf2.conf

当我构建和安装包时,所有文件都在

/usr/local/lib/python3.8/dist-packages/myPackage

目录。

很好。

但是: 在 myPackage.py 文件中,我需要设置一个引用我的 conf1.conf 文件的局部变量 所以我写道:

path_conf1 = "conf/conf1.conf"
def myFunction(path_conf1):
    with open(path_conf1,"r") as f:
        # do something 

但是 path_conf1 是未知的,因为 Python 尝试在我启动脚本的地方找到它,而不是在 myPackage 本身中找到它。

我尝试了很多 Google 搜索,但没有找到具体案例。

如何处理这个问题?

谢谢

您需要告诉python完整的文件路径。 一种方法是使用 os 库。

import os
path = os.path.dirname(os.path.realpath(__file__))

然后你可以在上面添加路径的结尾。类似于

path_conf1 = path + path_conf1