Python Glossary English

все Python 3urllib.parseфункция

urllib.parse.urlunparse()

разбор URL

Собирает URL обратно из шести частей — результата urlparse() или любого кортежа такой же длины.

Синтаксис

urllib.parse.urlunparse((scheme, netloc, path, params, query, fragment))

Нужен ровно шестиэлементный кортеж: пять частей от urlsplit() дадут ValueError. Пустые части пропускаются вместе с разделителями, поэтому «?» без запроса и «#» без фрагмента исчезают — круг urlparse→urlunparse не всегда возвращает исходную строку. Кодирования нет: пробел в query уйдёт в URL как есть, сначала нужен urlencode() или quote().

Примеры

from urllib.parse import urlunparse
print(urlunparse(('https', 'h', '/p', '', 'q=1', 'f')))  # → https://h/p?q=1#f
print(urlunparse(('https', 'h', '/p', '', 'q=a b', '')))  # → https://h/p?q=a b
from urllib.parse import urlunparse
try:
    urlunparse(('https', 'h', '/p', 'q=1', 'f'))
except ValueError as e:
    print('ValueError')  # → ValueError — пять частей вместо шести

См. также

Частые ошибки

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