Jerry~Mouse 发表于 2021-10-8 20:51:57

关于open

f = open('D:\\xiatiya.txt')
>>> f.read(5)
Traceback (most recent call last):
File "<pyshell#100>", line 1, in <module>
    f.read(5)
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 269: illegal multibyte sequence

这是为啥出错呢

冬雪雪冬 发表于 2021-10-8 21:13:49

试试

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

Jerry~Mouse 发表于 2021-10-8 21:24:40

冬雪雪冬 发表于 2021-10-8 21:13
试试

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

确实可以,但是为什么要加后面这一串 encoding = 'utf-8' 呢,是有什么含义吗

冬雪雪冬 发表于 2021-10-8 21:35:10

Jerry~Mouse 发表于 2021-10-8 21:24
确实可以,但是为什么要加后面这一串 encoding = 'utf-8' 呢,是有什么含义吗

文本文件会有不同的编码方式,必须以对应的编码打开

Jerry~Mouse 发表于 2021-10-10 15:16:49

冬雪雪冬 发表于 2021-10-8 21:35
文本文件会有不同的编码方式,必须以对应的编码打开

那我可以通过什么方式知道这个文本文件是什么格式呢

冬雪雪冬 发表于 2021-10-10 15:45:40

Jerry~Mouse 发表于 2021-10-10 15:16
那我可以通过什么方式知道这个文本文件是什么格式呢

可以用chardet模块检测,具体见论坛里的帖子或百度搜一下。
页: [1]
查看完整版本: 关于open