python中包含UTF-8編碼中文的列表或字典的輸出

來源:互聯網
上載者:User

在python 下面一個包含中文字串的列表(list)或字典,直接使用print會出現以下的結果:

dict = {"asdf": "我們的python學習"}
print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在輸出處理好的資料結構的時候很不方便,需要使用以下方法進行輸出:
import json
print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "我們的python學習"}
注意上面的兩個參數 我的經驗:

要是已經有dict,還好。我是從mongo中拿,所以需要Json.loads,但總是有問題。所以這個方案不適合我。

如果是字串,直接輸出或者
print str.encode("UTF-8")

對於其他的編碼同樣使用。趕快試試吧。

在編輯一個別人的方案。未經驗證。

all_symptom內容

[python] view plaincopy在CODE上查看代碼片派生到My Code片
[u'\u773c', u'\u8179\u90e8', u'\u4e94\u5b98', u'\u53e3\u8154', u'\u8179\u90e8',
u'\u53e3\u8154']

[python] view plaincopy在CODE上查看代碼片派生到My Code片
str_symptom = str(all_symptom).replace("u\'","\'")
str_symptom.decode("unicode-escape") 我的經驗

這個方案是我後來使用的方案,不確定效率。但是可行。我的答案是 str_symptom.decode("unicode-escape").encode("utf-8"). 在用unicode解碼完事後,用utf-8編碼。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.