创建复合命名空间包。

namespace的Python项目详细描述


简而言之,namespace.py允许您创建复合命名空间 不改变任何子模块的包。

>>> import namespace
>>> ns = namespace.Namespace()
>>> ns.proxy("ns.path", "os.path")
>>> import ns.path
>>> import sys
>>> ns.path == sys.modules["os.path"]
True

这里的基本思想是为 名称空间,然后附加各个子包 到命名空间。

例如:

# mynamespace.py
import namespace
ns = namespace.Namespace()
ns.proxy("mynamespace.web", "django")

然后客户端程序包可以将此命名空间程序包用作:

import mynamespace.web.forms as forms

这也许不是最好的例子,但希望它能 好主意。

另一个需要注意的是,这不允许在 如果包选择位于其中,则为命名空间。我不觉得 有足够的创造力想出一个好的解决办法。我很漂亮 当然可以用setuptools中的钩子来完成。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用SerializationUtils时java ClassNotFoundException。克隆()   java Cucumber+spring:如何通过测试触发SmartLifecycle事件?   java如何使ProGuard以简单的方式工作?   java JSP页面显示来自集合的日期   谷歌地图检查坐标是否位于JAVA中谷歌地图API的多边形中   java如何在终端中使用“tokens”打印令牌?   java获取编译错误:包com。威里奥。sdk不存在   java会使用JAXB或类似工具自动填充HATEAOS链接吗?   Javascript(GraalJS)与Java中未签名的右移>>>>   如何在Java代码中创建jdbc请求的Jmeter测试   java如何在CellList中添加或删除单个元素?   java Progressbar:如何创建原始对象的深度副本