我有一个项目将被压缩并从 Spark 运行,我们称之为“客户端”项目。
我想,在这个客户端项目中的脚本导入的库上,读取一些静态配置文件,“客户端”程序将按照一定的结构提供。
但是,我似乎无法找到一种方法来获取导入库文件的脚本的包名,以便读取配置文件。
注意:我使用pkg_resources
的项目将被打包为 Zip 文件,因此无法访问项目的文件结构。
因此,对于具有当前结构的客户项目:
project/
├── package1/
│ ├── __init__.py
│ ├── main.py
│ └── conf/
│ └── conf.txt
main.py
:
from library import SuperClass
class Main(SuperClass):
def __init__(self):
super().__init__()
print(self.conf) # conf.txt file read from SuperClass
在图书馆方面:
library.py
import importlib.resources as pkg_resources
class SuperClass:
def __init__(self):
self.conf = self.__read_conf()
def __read_conf(self):
return pkg_resources.read_text('????conf', 'conf.txt') # issue here
所以我的问题是: 的第一个参数的值是pkg_resources.read_text
多少?