在python中设置读取txt文件内容时出现了这个问题,IDE用的是Pycharm
但是Pycharm只有这个错误,却没有具体到错误位置
然后我用终端跑了一下程序有了详细的错误
Traceback (most recent call last): File "UIdisplay.py", line 87, in timer_TimeOut self.ui.textBrowser.setText(IDlab.read()) UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 15: illegal multibyte sequence
由此可以看出是编码格式的问题
错误语句为:
try: with open('./' + path + '/answer/IDlab/' + str(self.n) + '.txt', 'r', encoding='gbk') as IDlab: self.ui.textBrowser.setText(IDlab.read())
出现这个现象的原因是:在python中默认的编码方式是 “ gbk ”,而Windows中的文件默认的编码方式是 “ utf-8 ” ,所以导致python编译器无法成功读取或写入文件内容
我打开我的txt文件发现
于是
我把错误语句改为:
with open('./' + path + '/answer/IDlab/' + str(self.n) + '.txt', 'r', encoding='utf-8') as IDlab:
成功解决问题!