我在python中遇到了urllib.url_encode的问题.投注用一些代码解释:
>>> from urllib import urlencode
>>> params = {'p' : '1 2 3 4 5&6', 'l' : 'ab|cd|ef'}
>>> urlencode(params)
'p=1+2+3+4+5%266&l=ab%7Ccd%7Cef'
Run Code Online (Sandbox Code Playgroud)
我想将管道('|')保留在l参数中.你能告诉我怎么样吗?
结果应该是
'p=1+2+3+4+5%266&l=ab|cd|ef'
Run Code Online (Sandbox Code Playgroud)
PS:我不想手动汇总URL,但是使用urlencode.
谢谢--Pat
Rob*_*obB 18
将映射对象或两元素元组序列转换为"百分比编码"字符串[...]
的urlencode()来按预期方法起作用.如果要阻止编码,则可以先对整个对象进行编码,然后用管道替换编码后的字符.
>>> u = urlencode(params)
>>> u.replace('%7C', '|')
'p=1+2+3+4+5%266&l=ab|cd|ef'
Run Code Online (Sandbox Code Playgroud)