确定性地将字典编码为Python中的url参数列表

偷偷摸摸的

我正在使用urllib.parse.urlencode生成url的参数字符串。该函数的输入是字典。调用urlencode字典的问题在于输出不确定。即,结果字符串中参数的顺序不一致。不确定的行为urlencode使得很难测试使用它的代码段。有确定性的等价物urlencode吗?

我当前的解决方案是将字典转换为元组列表,对其进行排序,然后迭代排序后的列表并生成字符串。我问这样的功能是否已经存在。

虚假的

urllib.parse.urlencode 不仅接受映射(字典),还接受由两个元素组成的元组的序列:

>>> import urllib.parse
>>> urllib.parse.urlencode([('a', 'b'), ('c', 'd')])
'a=b&c=d'
>>> urllib.parse.urlencode([('c', 'd'), ('a', 'b')])
'c=d&a=b'

如果相反,您只需要有序的映射,请collections.OrderedDict改用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章