Equivalent urllib.parse.quote () in python 2.7

Which is equivalent to urllib.parse.quote

Is this urllib.urlencode() ?

thanks

+5
source share
3 answers

I think you are looking for urllib.pathname2url . For comparison:

Python 3, urllib.parse.quote :

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

Python 2, urllib.pathname2url :

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

The behavior is similar to me, but they may be a little different.

Edit:

After reading your comment on Algina's post, I think this is my preferred way of creating the URL:

 >>> 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' 
+7
source

actually using the six library, which is designed to be compatible with python2 / python3, you can do

 import six.moves.urllib as urllib # and now you can use urllib as it was python3 urllib.quote(...) 

and if you just want python2, it was actually urllib.quote directly

+3
source

You can be more specific? you have urllib.parse.quote_plus(...) urllib.parse.quote_from_bytes(...) urllib.parse.unquote(...) as you mentioned

see the document here: https://docs.python.org/3.2/library/urllib.parse.html

0
source

Source: https://habr.com/ru/post/1242077/


All Articles