python - 如何引用当前包以与 importlib.resources 一起使用?

标签 python python-importlib

我有一个已安装的包(通常位于 …/lib/pythonX.Y/site-packages/my-package 内),其中包含(除其他外)资源 …/my-package/a.txt…/my-package/b.png .我想从 …/my-package/get_my_resources.py 访问这些资源使用以下代码:

txt = importlib.resources.read_text(this_package, 'a.txt')
img = importlib.resources.read_binary(this_package, 'b.png')

我应该用什么来 this_package ?当我尝试相对自我引用this_package = '.' , 我得到错误
TypeError: the 'package' argument is required to perform a relative import for '.'

最佳答案

令人尴尬的简单答案是:

this_package = __package__

即,
txt = importlib.resources.read_text(__package__, 'a.txt')
img = importlib.resources.read_binary(__package__, 'b.png')

关于python - 如何引用当前包以与 importlib.resources 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58883423/

相关文章:

python - 如何在不导入 python 模块的情况下检查运行时是否有效?

python - 使用 module_from_spec 加载的 python 类中缺少源信息

Python Flask 应用程序在启动时抛出以下错误 ImportError : Import by filename is not supported

python - 使用 Python 3 从文本文件创建嵌套字典

c++ - 使用 LibVLC 在播放时保存流

python - 本地主机上的 Django/Celery 多个队列 - 路由不起作用

python - 如何在Python 3中导入 "gleam"包?

Python:在 opencv/python 中运行 estimateRigidTransform; 8uC1 或 8uC3 错误

python - 使用 importlib.util 检查库时出错

python - 如何使用 importlib 加载带有自定义全局变量的 Python 模块?