gpt4 book ai didi

python - Python 中是否有预定义的 URL 类?

转载 作者:太空狗 更新时间:2023-10-29 18:00:30 25 4
gpt4 key购买 nike

我正在寻找类似 java.net.URL 的内容在 python 模块、Django、Zope 或 Python 中的任何地方。我希望它最好是从语义原因,因为相关程序的分析结果表明URL在其中起着至关重要的作用。结果是这样的 URL 类在该程序中也将有很大的实际用途。

我当然可以自己编写这样的类,但在我开始重新发明轮子之前,我想先看看周围。

我看过urllib2urlparse . urlparse 基本上有我需要的功能,但它没有像java.net.URL 那样封装成一个类。关于我对我的程序的分析,它是颠倒的。

我还在 SplitResultParseResult 类中查看了 urlparse 的源代码。它们具有一些基本功能,可用于子类化。但是我必须将其余的 urlparse 函数重写为子类方法。

我还找到了mxURL - Flexible URL Datatype for Python .它非常接近我真正想要的。只是对于我的目的来说,这似乎有点矫枉过正。

谁能提出另一种选择?我应该继续重新发明轮子吗?

我的解决方案:

为了获得我的 URL 类,我基本上做了两件事:

  1. 继承自urlparse.ResultMixin
  2. 定义仅调用 urlparse.urlparse() 并将结果转换为URL 实例的参数。

最佳答案

urlparse 确实将 URL 封装到一个名为 ParseResult 的类中,因此它可以被视为这些的工厂函数。直接来自 Python 文档:

>>> urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
params='', query='', fragment='')

如果您迫切需要一个名为 URL 的类来封装您的 URL,请使用别名 (URL = urlparse.ParseResult) 或创建一个适配器。

关于python - Python 中是否有预定义的 URL 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6170295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com