【发布时间】:2010-11-04 16:18:57
【问题描述】:
在python 2.6中,以下代码:
import urlparse
qsdata = "test=test&test2=test2&test2=test3"
qs = urlparse.parse_qs(qsdata)
print qs
给出以下输出:
{'test': ['test'], 'test2': ['test2', 'test3']}
这意味着即使只有一个 test 值,它仍然被解析成一个列表。有没有办法确保如果只有一个值,它不会被解析成一个列表,所以结果看起来像这样?
{'test': 'test', 'test2': ['test2', 'test3']}
【问题讨论】:
-
所有值都是列表不是更一致,你不必担心它是一个列表还是单个值,你为什么要不然?
-
HTTP 标准意味着它必须是一个列表。似乎没有很多替代品。
-
到目前为止我遇到的所有网址都类似于“https://www.example.com/api/v1/resource?queryA=1&queryB=2”。我不明白为什么 HTTP 标准坚持该值应该是一个“列表”。我认为一个字符串就足够了。谁能给我一个例子,好吗?
标签: python python-2.6