python中urllib.quote出现KeyError
生活随笔
收集整理的這篇文章主要介紹了
python中urllib.quote出现KeyError
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
>>> urllib.quote_plus(u'江南小財主')
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
? File "/usr/lib/python2.5/urllib.py", line 1213, in quote_plus
??? return quote(s, safe)
? File "/usr/lib/python2.5/urllib.py", line 1205, in quote
??? res = map(safe_map.__getitem__, s)
KeyError: u'\u6c5f'
?
因為從數據庫里取出來的字符串是unicode。 但是quote_plus函數只接受ascii碼, 所以需要先把字符串encode一下。
?
>>> urllib.quote_plus(u'江南小財主'.encode('utf8'))
'%E6%B1%9F%E5%8D%97%E5%B0%8F%E8%B4%A2%E4%B8%BB'
總結
以上是生活随笔為你收集整理的python中urllib.quote出现KeyError的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stanford python中文分词
- 下一篇: python提取文章中的中文数字