我不确定出了什么问题:
for line in open(textfile, 'r'):
print(line)
输出:
abcd
该文件是使用textpad ++使用Unix EOL和UTF8编码创建的。
现在它可以在记事本++上使用UTF-8编码而无需BOM选项。但为什么?我是说如何将所有发送的文件转换为UTF-8以避免奇怪的字符?
答案 0 :(得分:8)
指定encoding可以解决您的问题。
for line in open(textfile, 'r', encoding='utf-8-sig'):
print(line)
utf_8_sig
:带BOM签名的UTF-8编解码器
答案 1 :(得分:2)
您必须使用UTF-8在读取文件时设置文件的编码。
在代码中添加第三个参数,设置其enconding。从:
for line in open(textfile, 'r'):
print(line)
为:
for line in open(textfile, 'r', encoding='utf-8-sig'):
print (line)