python 2.7中的等效urllib.parse.quote()

tim*_*ier 10 python python-2.7 python-3.x

相当于什么 urllib.parse.quote

是的urllib.urlencode()

谢谢

all*_*mon 14

实际上使用库six,这是为python2/python3兼容,你可以做到

import six.moves.urllib as urllib 

# and now you can use urllib as it was python3
urllib.quote(...) 
Run Code Online (Sandbox Code Playgroud)

如果你只是想要python2,它实际上是urllib.quote直接的


And*_*zlo 11

我想你正在寻找urllib.pathname2url.相比:

Python 3,urllib.parse.quote:

>>> urllib.parse.quote('abc def/foo?bar=baz')
'abc%20def/foo%3Fbar%3Dbaz'
Run Code Online (Sandbox Code Playgroud)

Python 2,urllib.pathname2url:

>>> urllib.pathname2url('abc def/foo?bar=baz')
'abc%20def/foo%3Fbar%3Dbaz'
Run Code Online (Sandbox Code Playgroud)

这种行为与我类似,但它们可能略有不同.

编辑:

阅读你对Algina帖子的评论,我认为这是我建立网址的首选方式:

>>> url = 'http://dev.echonest.com/api/v4/song/search'
>>> params = {'api_key': 'xxxx', 'format': 'json', 'artist': 'Galaxie 500'}
>>> "{}?{}".format(url, urllib.urlencode(params))
'http://dev.echonest.com/api/v4/song/search?api_key=xxxx&artist=Galaxie+500&format=json'
Run Code Online (Sandbox Code Playgroud)