Co jest odpowiednikiem urllib.parse.quote
Equivalent urllib.parse.quote() w Pythonie 2.7
To urllib.urlencode()
?
Dzięki
Co jest odpowiednikiem urllib.parse.quote
Equivalent urllib.parse.quote() w Pythonie 2.7
To urllib.urlencode()
?
Dzięki
myślę szukasz urllib.pathname2url. Porównaj:
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'
zachowanie wydaje się podobny do mnie, ale mogą one być nieco inna.
Edit:
Czytając komentarz na post Algina jest, myślę, że to jest mój preferowany sposób zbudować 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'
Czy możesz być dokładniejszy? masz urllib.parse.quote_plus(...) urllib.parse.quote_from_bytes(...) urllib.parse.unquote(...)
jak wspomniałeś
zobaczyć doc tutaj: https://docs.python.org/3.2/library/urllib.parse.html
Dzięki, mam 'req = 'http://dev.echonest.com/api/v4/song/search?api_key=xxxx&format=json&artist=' + urllib.parse.quote (artysta)' I 'artist =" Oasis "' – timothylhuillier
faktycznie przy użyciu biblioteki six
, który jest wykonany na python2/kompatybilność python3 można zrobić
import six.moves.urllib as urllib
# and now you can use urllib as it was python3
urllib.quote(...)
i jeśli chcesz po prostu python2, to rzeczywiście urllib.quote
di nio
Dziękuję za tę wskazówkę! –
Hi @ allan.simon, mam zainstalowany pakiet 'six (1.10.0)' i otrzymuję obiekt AttributeError: 'Module_six_moves_urllib' nie ma atrybutu "quote". Każdy pomysł dlaczego? –
Wydaje mi się, że potrzebowałem 'urllib.parse.quote (...)' (właściwie w moim przypadku potrzebowałem 'urllib.parse.quote_plus (...)'). –
Dzięki, spróbuję, że – timothylhuillier