等同于urllib.parse.quote
它是urllib.urlencode()
?
由于
答案 0 :(得分:10)
实际上使用库six
,这是为了兼容python2 / python3而做的
import six.moves.urllib as urllib
# and now you can use urllib as it was python3
urllib.quote(...)
如果你只是想要python2,它实际上是直接urllib.quote
答案 1 :(得分:9)
我认为您正在寻找urllib.pathname2url。比较:
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'
这种行为与我类似,但它们可能略有不同。
修改强>
阅读你对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'
答案 2 :(得分:0)
你能更具体一点吗?
你有
urllib.parse.quote_plus(...)
urllib.parse.quote_from_bytes(...)
urllib.parse.unquote(...)
就像你提到的那样
在这里看到doc: https://docs.python.org/3.2/library/urllib.parse.html