все 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Сообщить о неточности