访问一类当前包

时间:2015-09-07 15:59:18

标签: 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)

我认为这是一个共同的行动,所以我很惊讶找不到这样做的捷径。

1 个答案:

答案 0 :(得分:0)

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

import importlib

current_package = importlib.import_module(__package__)

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