Python Glossary English

все Python 3urllib.parseпонятие

urllib.parse.SplitResult

результаты разбора

Результат urlsplit(): именованный кортеж из пяти полей — scheme, netloc, path, query, fragment — плюс hostname, port, username, password.

Синтаксис

SplitResult(scheme, netloc, path, query, fragment)

От ParseResult отличается отсутствием params: «;…» остаётся внутри path, поэтому распаковка в шесть переменных здесь падает. Отсутствующая часть — пустая строка, а не None, и geturl() выбрасывает пустые «?» и «#»: urlsplit('http://h/p?').geturl() даёт 'http://h/p'. Это кортеж: распаковка и индексы работают, но изменить поле нельзя — новый объект даёт _replace(), а строку обратно собирает geturl().

Примеры

from urllib.parse import urlsplit
r = urlsplit('https://user:pw@Example.COM:8080/x?y=1')
print(r.username, r.hostname, r.port)  # → user example.com 8080
print(r._replace(query='y=2').geturl())  # → https://user:pw@Example.COM:8080/x?y=2
print(urlsplit('http://h/p?').geturl())  # → http://h/p

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности