我几天前阅读了“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