Python Glossary English

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

urllib.parse.parse_qs()

строка запроса

Разбирает строку запроса (a=1&b=2) в словарь, где каждое значение — список строк, даже если ключ встретился один раз.

Синтаксис

urllib.parse.parse_qs(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None, separator='&')

Значения — всегда списки: parse_qs('a=1')['a'] равно ['1'], а не '1', и сравнение с '1' даёт False. Пустые значения (b=) по умолчанию выбрасываются вместе с ключом — нужен keep_blank_values=True. «+» превращается в пробел, числа остаются строками. С 3.10 разделитель только «&»: «;» больше не делит пары.

Примеры

from urllib.parse import parse_qs
q = parse_qs('a=1&a=2&b=&c=x+y')
print(q)  # → {'a': ['1', '2'], 'c': ['x y']}
print(q['c'] == 'x y', q['c'][0])  # → False x y
from urllib.parse import parse_qs
print(parse_qs('b=', keep_blank_values=True))  # → {'b': ['']}
print(parse_qs('a=1;b=2'))  # → {'a': ['1;b=2']}

См. также

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