如何将局部变量路径设置为 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
我尝试像那样构建一个 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