我希望在我的代码中确保所有字符串都是unicode格式的,所以我使用了unicode_literals
,然后我需要将字符串写入文件:
from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
f.write("中文") # UnicodeEncodeError
所以我需要做这个:
from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
f.write("中文".encode("utf-8"))
f.write("中文".encode("utf-8"))
f.write("中文".encode("utf-8"))
f.write("中文".encode("utf-8"))
但每次我需要编码时,都感到很懒,所以我改用codecs:
from __future__ import unicode_literals
from codecs import open
import locale, codecs
lang, encoding = locale.getdefaultlocale()
with open('/tmp/test', 'wb', encoding) as f:
f.write("中文")
如果我只想将内容写入文件,那么这样做是否过于繁琐?有没有更简单的方法?