鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 10

[已解决]无法读取文件

[复制链接]
发表于 2020-11-23 10:51:03 | 显示全部楼层 |阅读模式

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

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

x
>>> d = open(r'D:\读取文件\record.txt')
>>> d.read()
Traceback (most recent call last):
  File "<pyshell#603>", line 1, in <module>
    d.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 4: illegal multibyte sequence

>>> d.read()
''
请问这是怎么回事 文件打开成功了 但是无法读取
最佳答案
2020-11-23 11:02:35
奔跑的赵云 发表于 2020-11-23 10:57
这样就可以读取了 但是请问后边这个encoding是什么意思??

你看刚才程序提示的错误:gbk无法解码字节在位置4上,那么就想到字节需要utf8编码为字符串,字符串需要utf8解码为字节来解决,要说详细内容很多,建议你去看一些utf8,GBK,aciII,等等一些编码相关的知识,对于你的提升是很大的。因为以后无论是爬虫,还是web都需要编码问题,总不能靠猜。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-23 10:55:10 | 显示全部楼层
试试这个:f= open(r"D:\读取文件\record.txt"), encoding="utf-8")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-23 10:57:32 | 显示全部楼层
西瓜味的苹果 发表于 2020-11-23 10:55
试试这个:f= open(r"D:\读取文件\record.txt"), encoding="utf-8")

这样就可以读取了 但是请问后边这个encoding是什么意思??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 11:02:35 | 显示全部楼层    本楼为最佳答案   
奔跑的赵云 发表于 2020-11-23 10:57
这样就可以读取了 但是请问后边这个encoding是什么意思??

你看刚才程序提示的错误:gbk无法解码字节在位置4上,那么就想到字节需要utf8编码为字符串,字符串需要utf8解码为字节来解决,要说详细内容很多,建议你去看一些utf8,GBK,aciII,等等一些编码相关的知识,对于你的提升是很大的。因为以后无论是爬虫,还是web都需要编码问题,总不能靠猜。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 11:04:20 | 显示全部楼层
encoding="utf-8"就是以utf8来进行编码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 11:06:18 | 显示全部楼层
f = open("1.txt",'w',encoding="gbk")
f.write('绉诲姩')
f.close()
# 你现在打开这个txt看看就知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-23 14:07:04 | 显示全部楼层
西瓜味的苹果 发表于 2020-11-23 11:02
你看刚才程序提示的错误:gbk无法解码字节在位置4上,那么就想到字节需要utf8编码为字符串,字符串需要ut ...

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

老哥我这又是咋回事??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 14:47:31 | 显示全部楼层
建议你要读取的所有的文本,用notepad++设置为编码为utf8,我估计你有的文本用了不同的编码,然后程序在读取的时候也设置为解码为utf8,应该就差不多解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-23 15:05:26 | 显示全部楼层
西瓜味的苹果 发表于 2020-11-23 14:47
建议你要读取的所有的文本,用notepad++设置为编码为utf8,我估计你有的文本用了不同的编码,然后程序在读取 ...

不知道为啥下午又试了试 就又可以了 不知道咋整的 谢谢老哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 17:35:51 | 显示全部楼层
我简单的和你说一下,你可以这样理解,文本用什么编码,你的程序就用什么解码,之所以用utf8是因为这是大家通用的,不会那么异类,这块挺重要的,建议你好好学,比单纯的看视频做一些看似高大上的东西好多了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-23 17:36:58 | 显示全部楼层
如有兴趣,可以加我qq3434394197,我会尽力帮你解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 13:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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