我读了" Unicdoe Pain"文章前几天。我保留了" Unicode Sandwich"心里。
现在我必须处理一些中文并且我有一个列表
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问题。 :d
答案 0 :(得分:1)
您不必这样做,您可以使用io
或codecs
打开带编码的文件。
import io
with io.open('file.txt', 'w', encoding='utf-8') as f:
f.write(u'你好')
codecs.open
具有相同的语法。
答案 1 :(得分:0)
在python3;
with open('file.txt, 'w', encoding='utf-8') as f:
f.write('你好')
会做得很好。