Есть ли предопределенный класс для URL-адреса в Python?Python

Программы на Python
Anonymous
Есть ли предопределенный класс для URL-адреса в Python?

Сообщение Anonymous »

Я ищу что-то вроде java.net.URL в модулях Python, Django, Zope или где-либо еще в Python.
Я хочу это предпочтительно по семантической причине, поскольку результат анализа соответствующей программы подразумевает, что URL-адрес играет в ней существенную роль. Как следствие, такой класс URL-адресов также будет иметь большое практическое применение в этой программе.

Конечно, я мог бы написать такой класс самостоятельно, но мне хотелось бы осмотреться, прежде чем начинать изобретать велосипед.

Я посмотрел urllib2 и urlparse. urlparse в основном имеет необходимую мне функциональность, но он не инкапсулирует ее в такой класс, как java.net.URL. Что касается моего анализа моей программы, то он работает наоборот.

Я также просмотрел исходный код urlparse, классы SplitResult и ParseResult. У них есть некоторые базовые функции, и их можно использовать для создания подклассов. Но мне придется переписать остальные функции urlparse как методы подкласса.

Я также нашел mxURL — гибкий тип данных URL для Python. Это очень близко к тому, чего я действительно хочу. Только для моих целей это кажется излишним.

Может кто-нибудь предложить другой вариант? Стоит ли мне изобретать велосипед?

Мое решение:

Чтобы получить класс URL, я сделал две вещи:
  • Наследовал от urlparse.ResultMixin.
  • Определите функцию, которая вызывает только urlparse.urlparse() и преобразует результаты в
    параметры экземпляра URL.


Подробнее здесь: https://stackoverflow.com/questions/617 ... -in-python

Вернуться в «Python»