我幾天前閱讀了「Unicdoe Pain」文章。我記住了「Unicode三明治」。 在寫入文件之前,我是否必須對unicode變量進行編碼?
現在我要處理一些中國人,我已經有了一個名單
chinese = [u'中文', u'你好']
我是否需要寫文件之前繼續編碼?
add_line_break = [word + u'\n' for word in chinese]
encoded_chinese = [word.encode('utf-8') for word in add_line_break]
with open('filename', 'wb') as f:
f.writelines(encoded_chinese)
不知何故我發現,在python2。我可以這樣做:
chinese = ['中文', '你好']
with open('filename', 'wb') as f:
f.writelines(chinese)
沒有unicode事項involed。 :D
對於讀取/寫入文件,請使用[codecs.open](https://docs.python.org/3/library/codecs.html#codecs.open)函數代替編碼 - 「bytes」(當所有東西都是正確的'str'(Python2'unicode')類型時,Python2'str')類型將不再需要在應用程序中手動管理。 – metatoaster