创建复合命名空间包。

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是否可以创建一个正则表达式来查找与模式不匹配的字符串?   使用“debugUnreturnedConnectionStackTraces”进行java调试连接丢失   java如何在openLDAP中禁用/启用用户帐户?   java无法从jsoup api获取某些类   java无法从APK提取XML文件   如何在linux命令行中替换多个文件中的字符串   java学生班。如何根据单位输入打印成绩?   java有没有办法将Struts配置为绑定null而不是空字符串?   python使用OpenCV[Java]检测简单几何形状   java文件。isFile()和文件。isDirectory()返回false   java Fetch有条件地加入hibernate,还是将实体设计更改为子实体上的条件Fetch?   java lombok@Data generated setter是否对成员对象(如映射)执行深度复制?   java如何使JLabel从下一行开始   java Gradle依赖解决了配置文件的问题