Python读取txt出现“‘gbk’ codec can't encode ...”

f = open(filepath, encoding = 'utf-8') # 使用utf8编码读取
print(f.read()) # 打印内容

虽然可以用 'utf-8' 读取,但并不能识别,对其操作会出现标题中的错误。
在命令行查看,

f.read() # 查看字符串

发现开头有 '\ufeff' 的字符,这是 'utf-8-bom' 的编码。

解决方法

使用utf-8-sig解码即可成功读取:

f = open(filepath, encoding = 'utf-8-sig') # 使用utf8编码读取
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。