簡體   English   中英

將python dict轉換為與Content-Type兼容的字符串:“application / x-www-form-urlencoded”

[英]Transform a python dict into string compatible with Content-Type:“application/x-www-form-urlencoded”

我想把一個python dict對象轉換成它的等效字符串,如果它是作為html表單數據提交的話。

這個詞典看起來像這樣:

{
   'v_1_name':'v_1_value'
  ,'v_2_name':'v_2_value'
}

我相信表單字符串應該如下所示:

v_1_name=v_1_value&v_2_name=v_2_value

有什么好辦法呢?

謝謝!

試試urllib.parse.urlencode

>>> from urllib.parse import urlencode
>>> urlencode({'foo': 1, 'bar': 2})
'foo=1&bar=2'

對於Python 2.7,您將遇到此錯誤:

>>> from urllib.parse import urlencode
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named parse

請改用urllib.urlencode

from urllib import urlencode
d = {'v_1_name': 'v_1_value', 'v_2_name': 'v_2_value'}
print urlencode(d)

產量

'v_2_name=v_2_value&v_1_name=v_1_value'

只需迭代項目,加入鍵和值,創建一個由'='分隔的鍵/值對,最后通過'&'加入對

對於Ex ...

If d={'v_1_name':'v_1_value','v_2_name':'v_2_value','v_3_name':'v_3_value'}

然后

'&'.join('='.join([k,v]) for k,v in d.iteritems())

'v_2_name=v_2_value&v_1_name=v_1_value&v_3_name=v_3_value'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM