如果要作为 html 表单数据提交,我想获取一个 python dict 对象并将其转换为等效的字符串。
字典看起来像这样:
{
'v_1_name':'v_1_value'
,'v_2_name':'v_2_value'
}
我相信表单字符串应该是这样的:
v_1_name=v_1_value&v_2_name=v_2_value
有什么好方法可以做到这一点?
谢谢!
如果要作为 html 表单数据提交,我想获取一个 python dict 对象并将其转换为等效的字符串。
字典看起来像这样:
{
'v_1_name':'v_1_value'
,'v_2_name':'v_2_value'
}
我相信表单字符串应该是这样的:
v_1_name=v_1_value&v_2_name=v_2_value
有什么好方法可以做到这一点?
谢谢!
>>> from urllib.parse import urlencode
>>> urlencode({'foo': 1, 'bar': 2})
'foo=1&bar=2'
只需遍历项目,连接键和值并创建一个由“=”分隔的键/值对,最后通过“&”连接这些对
对于前...
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'
对于 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'