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