鱼C论坛

 找回密码
 立即注册
查看: 2015|回复: 11

[已解决]python的readline问题

[复制链接]
发表于 2020-12-6 13:58:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> f = open('F:\\python练习\\record.txt')
>>> f
<_io.TextIOWrapper name='F:\\python练习\\record.txt' mode='r' encoding='cp936'>
>>> f.read()
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence
>>>
最佳答案
2020-12-6 15:44:34
whowho 发表于 2020-12-6 15:43
复制这个文件过去,还是不行

你是在做哪个作业,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-6 14:10:08 | 显示全部楼层
 f = open('F:\\python练习\\record.txt',ecoding="utf-8")

修改一下编码方式再打开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-6 14:10:09 | 显示全部楼层
这个是编码问题
给open加个参数
f = open('F:\\python练习\\record.txt',encoding='utf-8')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-6 14:59:46 | 显示全部楼层
逃兵 发表于 2020-12-6 14:10
这个是编码问题
给open加个参数

修改之后又出现这样
>>> f = open('F:\\python练习\\record.txt',encoding ='utf-8')
>>> f
<_io.TextIOWrapper name='F:\\python练习\\record.txt' mode='r' encoding='utf-8'>
>>> f.read()
"小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友!\n小甲鱼:。。。。。。\n小客服:她让你分手后考虑下她!然后我说:''您要买个优盘,我就帮你留一下~''\n小甲鱼:然后呢?\n小客服:她买了两个,说发一个货就好~\n小甲鱼:呃。。。。。。你真牛!\n小客服:那是,谁让我是鱼C最可爱小客服嘛~\n小甲鱼:下次有人想调戏劝你我不阻止~\n小客服:滚!!\n==========================================================================================\n小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:''有了小甲鱼,以后妈妈再也不用担心我的学习了~''\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:嗯嗯,我看了你的微博丫~\n小甲鱼:哟西~\n小客服:那个有条回复''左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy^-^''\n小甲鱼:T-T\n=========================================================================================="
>>> f.read()
''
>>> f.close()
>>> f = open('F:\\python练习\\record.txt',encoding ='utf-8')
>>> f.read(5)
'小客服:小'
>>> f.tell()
13
>>> f.seek(45,0)
45
>>> f.readline()
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    f.readline()
  File "E:\python\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 0: invalid start byte
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-6 15:00:28 | 显示全部楼层
昨非 发表于 2020-12-6 14:10
修改一下编码方式再打开

修改之后又出现这样
>>> f = open('F:\\python练习\\record.txt',encoding ='utf-8')
>>> f
<_io.TextIOWrapper name='F:\\python练习\\record.txt' mode='r' encoding='utf-8'>
>>> f.read()
"小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友!\n小甲鱼:。。。。。。\n小客服:她让你分手后考虑下她!然后我说:''您要买个优盘,我就帮你留一下~''\n小甲鱼:然后呢?\n小客服:她买了两个,说发一个货就好~\n小甲鱼:呃。。。。。。你真牛!\n小客服:那是,谁让我是鱼C最可爱小客服嘛~\n小甲鱼:下次有人想调戏劝你我不阻止~\n小客服:滚!!\n==========================================================================================\n小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:''有了小甲鱼,以后妈妈再也不用担心我的学习了~''\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:嗯嗯,我看了你的微博丫~\n小甲鱼:哟西~\n小客服:那个有条回复''左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy^-^''\n小甲鱼:T-T\n=========================================================================================="
>>> f.read()
''
>>> f.close()
>>> f = open('F:\\python练习\\record.txt',encoding ='utf-8')
>>> f.read(5)
'小客服:小'
>>> f.tell()
13
>>> f.seek(45,0)
45
>>> f.readline()
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    f.readline()
  File "E:\python\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 0: invalid start byte
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-12-6 15:03:13 | 显示全部楼层
whowho 发表于 2020-12-6 15:00
修改之后又出现这样
>>> f = open('F:\\python练习\\record.txt',encoding ='utf-8')
>>> f

把这个文件复制过去,你可能文件里的标点符号不对或中英文不对
小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。
小客服:她让你分手后考虑下她!然后我说“。。”
小甲鱼:然后呢?
小客服:她。。。。
小甲鱼:呃。。。你真牛逼!
小客服:那是,。。。
小甲鱼:下次有人想调戏你,我不阻止
小客服:滚!!
===========================================================================
小客服:小甲鱼,有个好评很好笑
小甲鱼:哦?
小客服:“有了小甲鱼,妈妈再也。。。。”
小甲鱼:哈哈哈,看到了,我还发了微博呢~
小客服:我看了你的微博呀!
小甲鱼:哟西~
小客服:那个回复“。。。。。。”
小甲鱼:T_T
============================================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦?什么事儿?
小客服:他说你的一个学生月薪已经超过12k了
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司的?
小客服:没说啊
小甲鱼:哦
小客服:老大,为什么我工资那么低啊,是时候涨工资了!!
小甲鱼:啊?你说什么?外面风大,听不见啊~~~~
小客服:滚!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-6 15:43:43 | 显示全部楼层
昨非 发表于 2020-12-6 15:03
把这个文件复制过去,你可能文件里的标点符号不对或中英文不对

复制这个文件过去,还是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-6 15:44:34 | 显示全部楼层    本楼为最佳答案   
whowho 发表于 2020-12-6 15:43
复制这个文件过去,还是不行

你是在做哪个作业,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-6 15:50:18 | 显示全部楼层
昨非 发表于 2020-12-6 15:44
你是在做哪个作业,

可以了,改变了文件编码就可以了,utf-8编码换成ANSI
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-6 15:57:24 | 显示全部楼层
whowho 发表于 2020-12-6 15:50
可以了,改变了文件编码就可以了,utf-8编码换成ANSI

这倒是挺少见的,一般不是utf-8就是gbk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-6 16:50:14 | 显示全部楼层
昨非 发表于 2020-12-6 15:57
这倒是挺少见的,一般不是utf-8就是gbk

这个没有深入研究,不清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-6 16:54:19 | 显示全部楼层
whowho 发表于 2020-12-6 16:50
这个没有深入研究,不清楚

解决了就行,可能系统默认的文本编码方式不同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 06:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表