Windows使用python3打开中文文件时报错
在Windows时打开中文文件时会报错
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 7440: illegal multibyte sequence
而在Linux中正常。
这是因为Python在Windows中文系统中默认使用gbk进行解码,而大部分文件是用utf-8编码的,导致不匹配。
一种解决方法是在open文件时加入encoding参数
with open(train_path, "r",encoding='utf-8') as f:
这种方法基本能解决大部分编码不一致的情况,即在open中根据文件的实际编码进行设置。
但这种方法需要修改代码,而且在Windows和Linux中使用两套写法会让人抓狂的。
好在Python3.7开始引入了UTF-8模式,通过在Windows环境变量中新增一个PYTHONUTF8值为1的变量,即可以让Python默认运行在utf-8编码模式下,是最一劳永逸的方法了。