[英]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.