回答
我认为你正在寻找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'
你能更具体吗? 你有 urllib.parse.quote_plus(...) urllib.parse.quote_from_bytes(...) urllib.parse.unquote(...)
像你提到的
见文件浏览: https://docs.python.org/3.2/library/urllib.parse.html
谢谢, 我'REQ = 'http://dev.echonest.com/api/v4/song/search?api_key=xxxx&format=json&artist=' + urllib.parse.quote(艺术家)' 和'artist =“Oasis”' – timothylhuillier
实际使用图书馆six
,这是为python2制作/ python3兼容性,你可以做
import six.moves.urllib as urllib
# and now you can use urllib as it was python3
urllib.quote(...)
,如果你只是想python2,它实际上是urllib.quote
迪rectly
谢谢你的提示! –
嗨@ allan.simon,我已经安装了'six(1.10.0)'软件包,并且我得到了'AttributeError:'Module_six_moves_urllib'对象没有属性'quote'' ..任何想法为什么? –
似乎我需要'urllib.parse.quote(...)'(实际上我需要'urllib.parse.quote_plus(...)')。 –
- 1. 橙色2.7等效奥兰治“test_on_data” 3
- 2. urllib.parse.quote不会采取utf8
- 3. 在Python 2.7中Python 3的Signal.sigwaitinfo等效吗?
- 4. SyntaxError:无效语法Python 2.7
- 5. 等效
- 6. 将小数点除以2.5得出无效结果2.7到2.7
- 7. 等效于'@ECHO ON'的Unix等效
- 8. 无效的语法错误蟒蛇2.7
- 9. Python 2.7无效的语法错误
- 10. python 2.7+中无效的组引用
- 11. 无效\逸出json.loads(),蟒蛇2.7
- 12. 的Python 2.7的SyntaxError无效的语法
- 13. ApplicationUpdaterUI 1.5没有奏效航2.7
- 14. 等效IFF的
- 15. WPF Radiobutton等效
- 16. ITextSharp VB.net等效
- 17. 等效于WM_MOVE
- 18. CIN的等效
- 19. Django ORM等效
- 20. JPanel doClick()等效
- 21. 等效ElasticSearch
- 22. Angular2等效ReactDOM.render
- 23. GtkVBox Qt等效
- 24. 串行等效
- 25. 等效System.Data.Linq.Binary
- 26. DataGridTemplateColumn EditingElementStyle等效
- 27. GCC等效m256_f32
- 28. OpenID等效
- 29. Image.FromHbitmap WPF等效
- 30. .equals()等效
谢谢,我会尽力 – timothylhuillier