繁体   English   中英

python-导入名称空间

[英]python - import namespace

如果我有一个像这样的图书馆:

MyPackage:

  • __init__.py

  • 子包装1

    • __init__.py
    • moduleA.py
    • moduleB.py
  • 分包2
    • __init__.py
    • moduleC.py
    • moduleD.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 moduleAmoduleDmoduleA全局变量。 然后,您可以使用:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM