今天的我更强了 发表于 2020-6-5 16:46:13

第八章永久储存

f=open('D:\\python小甲鱼\\对话.txt')
f.read()
这样打开会报错,UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence。
百度搜索之后修改为 f=open('D:\\python小甲鱼\\对话.txt',encoding='UTF-8') 可以正常运行。
这是为什么?可不可以修改为不带,encoding='UTF-8? 求大神指点

青出于蓝 发表于 2020-6-5 16:49:02

不需要带呀,你没选模式
r模式b模式最常用,r模式默认,是不是忘记选模式了?

青出于蓝 发表于 2020-6-5 16:50:43

utf-8我学的时候不带也正常

青出于蓝 发表于 2020-6-5 16:52:18

嗯哼?得带,你文件的问题,出现乱码,里面字符python识别不出

qiuyouzhi 发表于 2020-6-5 16:52:42

修改编码,就和说话一样,你用中文和一个外国人无法交流,就得换英文。

冬雪雪冬 发表于 2020-6-5 16:55:12

用记事本打开文本文件,另存为--编码改为ANSI,就可以不带encoding = 'UTF-8"

wp231957 发表于 2020-6-5 17:49:38

这东西就像接头暗号似的
双方对不上暗号,无法接头

今天的我更强了 发表于 2020-6-5 18:13:47

冬雪雪冬 发表于 2020-6-5 16:55
用记事本打开文本文件,另存为--编码改为ANSI,就可以不带encoding = 'UTF-8"

谢谢

_荟桐_ 发表于 2020-6-5 18:29:08

utf-8和gbk都是文件的编码方式
用utf-8储存的文件就要用utf-8读取出来
如果用其他编码读取就会报错

永恒的蓝色梦想 发表于 2020-6-5 18:36:53

青出于蓝 发表于 2020-6-5 16:49
不需要带呀,你没选模式
r模式b模式最常用,r模式默认,是不是忘记选模式了?

我求求你了,别乱说了……

heidern0612 发表于 2020-6-5 20:03:57

这个牵扯到很多字符串编码方面的知识。

正常windows用的都是GBK编码,而你文件存的时候用的大致都是UTF-8编码。

所以打开的时候会报错是因为编码不一致导致的。

你可能用的IDLE用的是python自带的解释器,而python自带的解释默认就是GBK编码。

用pycharm就可以避免这种编码不一致的错误。
页: [1]
查看完整版本: 第八章永久储存