params = {'fruit':'orange', 'color':'red', 'size':'5'}
Как я могу превратить это в строку:Как превратить словарь в строку?
fruit=orange&color=red&size=5
params = {'fruit':'orange', 'color':'red', 'size':'5'}
Как я могу превратить это в строку:Как превратить словарь в строку?
fruit=orange&color=red&size=5
Вы можете сделать это следующим образом:
'&'.join('%s=%s' % (k,v) for k,v in params.items())
Если вы строите строки для URL, было бы лучше использовать URLLIB так как это тоже будет правильно для вас:
>>> params = { 'foo' : 'bar+baz', 'qux' : 'quux' }
>>> urllib.urlencode(params)
'qux=quux&foo=bar%2Bbaz'
Если вы кодируете url param Для этого вы можете использовать urllib.urlencode
. Например:
import urllib
params = {'fruit':'orange', 'color':'red', 'size':'5'}
encoding = urllib.urlencode(params)
это будет также запустить Dict через urllib.quote_plus
.
Вы спрашиваете об этом?
>>> params = {'fruit':'orange', 'color':'red', 'size':'5'}
>>> import urllib
>>> urllib.urlencode(params)
'color=red&fruit=orange&size=5'
Если вы хотите создать строку запроса, Python поставляется с батарейками в комплекте:
import urllib
print(urllib.urlencode({'fruit':'orange', 'color':'red', 'size':'5'}))
Является ли это для создания URL-адреса или для других целей? Как вы хотите, чтобы специальные символы внутри строк обрабатывались? Должны ли они избегать использования в качестве URL-адресов? –