use*_*629 2 python dictionary get urllib
我试图用python模拟一个get请求.我有一个参数字典,我正在使用urllib.urlencode对它们进行urlencode
我注意到虽然字典的形式如下:
{ "k1":"v1", "k2":"v2", "k3":"v3", .. }
Run Code Online (Sandbox Code Playgroud)
在urlencoding后,参数的顺序切换为:
/?k1=v1&k3=v3%k2=v2...
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我可以强制字典中的顺序保持不变吗?
正如您在注释中看到的那样,Python字典不是有序的,但是OrderedDictPython中有一个可用于实现所需结果的字典:
from collections import OrderedDict
import urllib
urllib.urlencode(OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')]))
# Out: 'k1=v1&k2=v2&k3=v3'
Run Code Online (Sandbox Code Playgroud)
有关OrderedDIct的更多信息
| 归档时间: |
|
| 查看次数: |
1989 次 |
| 最近记录: |