python - 访问当前包的类

标签 python

我正在尝试访问一个类,该类是在我尝试访问它的同一包中定义的,但在不同的文件中。该类已导入到包的 __init__.py 中。

我知道我可以这样做来获取对当前包的引用,并且从该引用中我可以获取在 __init__.py 中导入的类作为属性。但是没有更短的方法吗?

import importlib

current_package = importlib.import_module('.'.join(__name__.split('.')[:-1]))

# getting the class I want
cls = getattr(current_package, myclass)

我认为这是一个常见的操作,所以我很惊讶没有找到执行此操作的捷径。

最佳答案

我自己刚刚找到了答案。有一个变量 __package__ 我可以使用它来避免生成包名称:

import importlib

current_package = importlib.import_module(__package__)

# getting the class I want
cls = getattr(current_package, myclass)

关于python - 访问当前包的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442440/

相关文章:

python - 如何使用 windows python ping 服务器/网站?

python - 什么是相当于 R 的 `with` 的 python/pandas?

python - python中的Fire store用随机数据填充字段

python - 何时使用 Tornado,何时使用 Twisted/Cyclone/GEvent/other

python - 评估一阶算术公式

python - pyopengl:它能取代 C++ 吗?

python - Contourf 和 quiver Animation with Basemap Python

python - 方法中具有递归的自定义类,未定义全局名称

python - 如何从 Reddit 上的 subreddit 中抓取所有评论?

python - os “afplay”的问题-Turtle,Python