奔跑的赵云 发表于 2020-11-23 11:27:42

readline()又 报错

> d = open(r'D:\读取文件\record.txt',encoding="utf-8")
>>> list(d)
['梦次吐了蒙卡 猛刺剋吐了梦C咔\n', '大地瓜和烤地瓜\n', '一块钱儿\n', '能买仨']
>>> d.readline()
''
>>> d.seek(45,0)
45
>>> d.readline()
Traceback (most recent call last):
File "<pyshell#635>", line 1, in <module>
    d.readline()
File "C:\Users\lwg\AppData\Local\Programs\Python\Python38-32\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa7 in position 0: invalid start byte
>>>

这为什么跟小甲鱼讲的不一样啊??我这readline就不行 怎么回事??

suchocolate 发表于 2020-11-23 18:43:01

不在shell里,以脚本方式运行试试。

braga 发表于 2020-11-23 19:29:12

你seek之后文件指针位置变了,seek 移动是以字节为单位的,utf-8 一个中文字占3个字节 ,你seek到一个不该分割的位置 ,所以readline编码报错了啊
页: [1]
查看完整版本: readline()又 报错