[英]python - import namespace
如果我有一个像这样的图书馆:
MyPackage:
__init__.py
子包装1
__init__.py
__init__.py
但是我希望用户可以像直接import MyPackage.moduleA
一样import MyPackage.moduleA
moduleA。 我可以通过在MyPackage/__init__.py
编写一些规则来实现这MyPackage/__init__.py
吗?
在MyPackage/__init__.py
,从子包中导入所需的模块:
from __future__ import absolute_import # Python 3 import behaviour
from .SubPackage1 import moduleA
from .SubPackage2 import moduleD
这使得MyPackage
moduleA
和moduleD
都moduleA
全局变量。 然后,您可以使用:
from MyPackage import moduleA
然后将其绑定到相同的模块,或者
import MyPackage
myPackage.moduleA
直接访问该模块。
但是,您不能使用
from MyPackage.moduleA import somename
因为这要求moduleA
直接存在于MyPackage中; __init__
中的一个全局__init__
不会在那里切掉。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.