972619178 发表于 2020-4-22 18:45:38

第29讲,编码问题报错

本帖最后由 972619178 于 2020-4-22 18:56 编辑

第29讲,读取文件信息后,遍历的时候报错。
代码如下:(开头一部分)
f = open('D:\\record.txt')

boy = []
girl = []
count = 1

for each_line in f:
    if each_line[:6] != '======':

报错信息如下:
Traceback (most recent call last):
File "C:\Users\l\Desktop\python\程序内置测试\029--文件-一个任务.py", line 7, in <module>
    for each_line in f:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence

看起来是编码问题导致的,这个地方应该怎么处理?

zltzlt 发表于 2020-4-22 18:48:21

请见:https://fishc.com.cn/thread-158932-1-1.html

将代码改成这样试试:

f = open('D:\\record.txt', encoding="utf-8")

boy = []
girl = []
count = 1

for each_line in f:
    if each_line[:6] != '======':

972619178 发表于 2020-4-22 18:54:19

已经找到答案了,确实是编码问题,打开文件时加上encoding='UTF-8'就可以了~~,如下:
f = open('D:\\record.txt',encoding='UTF-8')

txxcat 发表于 2020-4-22 18:55:29

参考:避免打开文本文件出现编码错误的一个小技巧

972619178 发表于 2020-4-22 18:56:51

zltzlt 发表于 2020-4-22 18:48
请见:https://fishc.com.cn/thread-158932-1-1.html

将代码改成这样试试:

感谢~
页: [1]
查看完整版本: 第29讲,编码问题报错