Sam*_*Sam 95 python urllib urllib2
使用后cgi.parse_qs(),如何将结果(字典)转换回查询字符串?寻找类似的东西 urllib.urlencode().
Ign*_*ams 146
urllib.parse.urlencode(查询,doseq = False,[...])将映射对象或可能包含str或bytes对象的两元素元组序列转换为百分比编码的ASCII文本字符串.
A dict是映射.
urllib.urlencode(query[,doseq])
将映射对象或两元素元组序列转换为 "百分比编码"字符串...key=value由'&'字符分隔的一系列对...
Joh*_*hao 54
在python3中,略有不同:
from urllib.parse import urlencode
urlencode({'pram1': 'foo', 'param2': 'bar'})
Run Code Online (Sandbox Code Playgroud)
输出: 'pram1=foo¶m2=bar'
对于python2和python3的兼容性,试试这个:
try:
#python2
from urllib import urlencode
except ImportError:
#python3
from urllib.parse import urlencode
Run Code Online (Sandbox Code Playgroud)
您正在寻找完全一样的东西urllib.urlencode()!
但是,当您调用parse_qs()(与区别parse_qsl())时,字典键是唯一的查询变量名称,而值是每个名称的值列表。
为了将此信息传递到中urllib.urlencode(),您必须“展平”这些列表。这是使用元组列表理解的方法:
query_pairs = [(k,v) for k,vlist in d.iteritems() for v in vlist]
urllib.urlencode(query_pairs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61571 次 |
| 最近记录: |