使用Python2.4.5(不要问!),我想解析一个查询字符串并获得一个dict作为返回。我是否需要像下面这样“手动”进行操作?

>>> qs = 'first=1&second=4&third=3'
>>> d = dict([x.split("=") for x in qs.split("&")])
>>> d
{'second': '4', 'third': '3', 'first': '1'}

urlparse中找不到任何有用的方法。

最佳答案

您有两种选择:

>>> cgi.parse_qs(qs)
{'second': ['4'], 'third': ['3'], 'first': ['1']}

或者
>>> cgi.parse_qsl(qs)
[('first', '1'), ('second', '4'), ('third', '3')]
cgi.parse_qs()返回的dict中的值是列表而不是字符串,以便处理多次指定相同参数的情况:
>>> qs = 'tags=python&tags=programming'
>>> cgi.parse_qs(qs)
{'tags': ['python', 'programming']}

关于python - 在Python 2.4中使用urllib解析查询字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1769625/

10-12 14:14