创建复合命名空间包。

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第三方库


热门话题
java JPanel不会对键绑定做出反应   当时间大于零时,不得在UI线程上调用java Await   JTextArea的java线程安全。追加   Java用户输入的字和行计数器   java以spreedsheat格式将数据保存到文件中   java构造函数的意义是什么?   java findViewById返回null,尽管组件的ID存在   java如何向按钮添加图像   java如何中断ExecutorService的线程   java如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的映像)?   随机森林分类器的java实现   html使用java连接到一个站点并发布,HTTP状态代码200   从类访问属性时发生java编译错误   Java自动填充ArrayList,搜索更好的选项