我正在python-modules、Django、Zope 或 Python 中的任何地方寻找类似java.net.URL的东西。我希望它最好是从语义上的原因,因为有关程序的分析结果表明 URL 在其中起着至关重要的作用。结果是这样的 URL 类在该程序中也将有很大的实际用途。
我当然可以自己写这样的课,但我想在开始重新发明轮子之前先看看周围。
我确实看过urllib2和urlparse。基本上具有我需要的urlparse
功能,但它没有将其封装到像java.net.URL
. 关于我对我的程序的分析,它是颠倒的。
urlparse
我还查看了类的源代码SplitResult
和ParseResult
. 它们具有一些基本功能,可用于子类化。但是我必须将其余的 urlparse 函数重写为子类方法。
我还发现了 mxURL - Python 的灵活 URL 数据类型。它非常接近我真正想要的。只是对于我的目的来说,这似乎有点过头了。
谁能建议另一种选择?我应该继续重新发明轮子吗?
我的解决方案:
为了获得我的 URL 类,我基本上做了两件事:
- 继承自
urlparse.ResultMixin
。 - 定义仅调用
urlparse.urlparse()
并将结果转换为 URL 实例参数的函数。