问题与标题完全相同。我的问题是,对于N = 128,file.write(chr(N))
失败并返回错误:UnicodeEncodeError: 'charmap' codec can't encode character '\x80'.
我认为print()
中允许的某些操作会在file.write()
中返回错误,这很奇怪。但是,对于N = 255而言,它不会返回错误,因此,并非所有N> 127都失败。
此示例的整个代码为:
N=128
print(chr(N)) #This works just fine.
file=open('output.txt','w')
file.write(chr(N)) #This one returns errors!
file.close()
具有以下内容:
file=open('output.txt','w',encoding="utf-8")
file.write(chr(N)) #No error but output.txt is empty!
file.close()
它没有错误,但是输出文件为空。
我的python版本是Anaconda 3.6.5
答案 0 :(得分:0)
请确保您使用utf-8编码打开文件:
file = open('file_name.txt', 'w', encoding="utf8", newline='')
此解决方案适用于python3.x。