解决方案
编码参数encoding使用utf-8-sig而非utf-8,可以自动去除多种标准的文件头BOM。
1 2
| with open('file.txt', 'r', encoding='utf-8-sig') as f: content = f.read()
|
额外说明
codecs模块中包括BOM、BOM_UTF8、BOM_BE、BOM_UTF32_LE等常量。
参考资料
- codecs — Codec registry and base classes;
codecs --- 编解码器注册和相关基类;