首先,确保你使用的Unicode字符串:加 “U” 前缀字符串:
l = [u"Bücher", u"Hefte, u"Mappen"]
然后,你可以写或附加到文件:
我建议您使用Python 2/3兼容的io模块。
with io.open("testfile.txt", mode="a", encoding="UTF8") as fd:
for line in l:
fd.write(line + "\n")
要阅读文本文件在一块:
with io.open("testfile.txt", mode="r", encoding="UTF8") as fd:
content = fd.read()
结果内容是一个Unicode字符串。
如果使用UTF8编码解码这个字符串,你会得到字节字符串像这样:
b"B\xc3\xbccher"
编辑使用writelines
。
方法writelines()
向文件写入一串字符串。序列可以是任何可生成字符串的可迭代对象,通常是字符串列表。没有返回值。
# add new lines
lines = [line + "\n" for line in l]
with io.open("testfile.txt", mode="a", encoding="UTF8") as fd:
fd.writelines(lines)
什么是'stdout_encoding'? – ForceBru
抱歉它的utf-8 – Constantine