python URL编码多个相同的变量
我读过其他关于python(v2)URLENCDE的帖子,没有发现这个问题 如果我有多个变量,但所有变量都具有相同的名称,那么如何使用urlencode(如果这是正确的工具)?假设URL是: 如果我定义这一点:python URL编码多个相同的变量,python,urlencode,Python,Urlencode,我读过其他关于python(v2)URLENCDE的帖子,没有发现这个问题 如果我有多个变量,但所有变量都具有相同的名称,那么如何使用urlencode(如果这是正确的工具)?假设URL是: 如果我定义这一点: url = 'http://path.com/a?' query_args = {'var': 'earth', 'var': 'wind', 'var': 'fire'} encoded_args = urllib.urlenc
url = 'http://path.com/a?'
query_args = {'var': 'earth',
'var': 'wind',
'var': 'fire'}
encoded_args = urllib.urlencode(query_args, doseq=True)
print url + encoded_args
似乎urlencode只返回最后定义的“var”:
如何对所有变量进行编码?从
将映射对象或两元素元组序列转换为“百分比编码”字符串
所以。。。像这样:
>>> import urllib
>>> urllib.urlencode([('var', 'earth'), ('var', 'wind')])
'var=earth&var=wind'
“问题”是您要传递到urlencode
的字典只有一个键/值对:
>>> {'var': 'earth',
... 'var': 'wind',
... 'var': 'fire'}
{'var': 'fire'}
因为字典中只能有一个特定的键。允许urlencode接受一个2元素元组序列正是出于这个原因(对于查询参数顺序很重要的偶然URL而言)
将映射对象或两元素元组序列转换为“百分比编码”字符串
所以。。。像这样:
>>> import urllib
>>> urllib.urlencode([('var', 'earth'), ('var', 'wind')])
'var=earth&var=wind'
“问题”是您要传递到urlencode
的字典只有一个键/值对:
>>> {'var': 'earth',
... 'var': 'wind',
... 'var': 'fire'}
{'var': 'fire'}
因为字典中只能有一个特定的键。允许urlencode接受一系列2元素元组正是出于这个原因(对于查询参数顺序很重要的不太可能的URL)尝试打印
query\u args
。您需要后退几步,学习字典。在任何计算机编程语言中,你都必须先学习基础知识。试着打印query\u args
。你需要后退几步,学习字典。在任何计算机编程语言中,你都必须先学习基础知识。谢谢。出于某种原因,我认为我读它只接受列表。我从未想到urlencode会接受字典。这很有道理,而且很有魅力。谢谢谢谢出于某种原因,我认为我读它只接受列表。我从未想到urlencode会接受字典。这很有道理,而且很有魅力。谢谢