Python Glossary English

Python 3.2+urllib.parseпонятие

urllib.parse.ParseResultBytes

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

Результат urlparse() для bytes: те же шесть полей, что у ParseResult, но поля — байтовые строки.

Синтаксис

ParseResultBytes(scheme, netloc, path, params, query, fragment)

Получается, когда в urlparse() передали bytes, например прочитанные из сокета. decode() по умолчанию декодирует ASCII и падает на других байтах, поэтому адрес с кириллицей в байтах декодируют явно: decode('utf-8'). Сравнение со строкой (r.scheme == 'http') молча даёт False.

Примеры

from urllib.parse import urlparse
r = urlparse(b'http://h/p?q=1')
print(type(r).__name__, r.scheme == 'http')  # → ParseResultBytes False
print(r.decode().query)  # → q=1

См. также

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