从导入的python文件获取调用者脚本的包名称

问题描述

我有一个将被压缩并从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的第一个参数的值是多少?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...