我正在尝试将Python字典转换为用作URL参数的字符串。我确信有更好的,更Python化的方式来做到这一点。它是什么?
x = "" for key, val in {'a':'A', 'b':'B'}.items(): x += "%s=%s&" %(key,val) x = x[:-1]
使用urllib.urlencode()。它采用键值对字典,并将其转换为适合URL的形式(例如key1=val1&key2=val2)。
urllib.urlencode()
key1=val1&key2=val2
如果您使用的是Python3,请使用 urllib.parse.urlencode()
urllib.parse.urlencode()
如果要使用重复的参数创建URL,例如:p=1&p=2&p=3您有两个选择:
p=1&p=2&p=3
>>> import urllib >>> a = (('p',1),('p',2), ('p', 3)) >>> urllib.urlencode(a) 'p=1&p=2&p=3'
或者,如果您想使用重复的参数创建网址:
>>> urllib.urlencode({'p': [1, 2, 3]}, doseq=True) 'p=1&p=2&p=3'