cdkeycdma 发表于 2020-5-20 19:17:51

为何read()无法读出文件内容



>>> a=open('d:\\1.txt')
>>> a.read ()
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
    a.read ()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 62: illegal multibyte sequence

Twilight6 发表于 2020-5-20 19:18:41

代码改成这样,编码问题报错而已
a=open('d:\\1.txt',encoding='utf-8')

qiuyouzhi 发表于 2020-5-20 19:21:26

1,这是编码问题,改成这样:
a=open('d:\\1.txt',encoding='utf-8')
2,read的括号是不是中文的?改成英文

永恒的蓝色梦想 发表于 2020-5-20 19:28:49

qiuyouzhi 发表于 2020-5-20 19:21
1,这是编码问题,改成这样:

2,read的括号是不是中文的?改成英文

2.应该只是加了空格,要不直接 SyntaxError 了

qiuyouzhi 发表于 2020-5-20 19:29:08

永恒的蓝色梦想 发表于 2020-5-20 19:28
2.应该只是加了空格,要不直接 SyntaxError 了

噢,看起来是的

cdkeycdma 发表于 2020-5-20 19:43:16

Twilight6 发表于 2020-5-20 19:18
代码改成这样,编码问题报错而已

open用默认的参数应该可以直用啊?

Twilight6 发表于 2020-5-20 19:46:54

cdkeycdma 发表于 2020-5-20 19:43
open用默认的参数应该可以直用啊?

什么意思? 你报错就是编码报错,gbk编码
改成 utf-8即可
你的意思难道是默认参数为什么能改嘛?
默认参数也可以改的,默认参数的意思是没在人为赋值的情况有默认值的~

cdkeycdma 发表于 2020-5-20 19:57:44

Twilight6 发表于 2020-5-20 19:46
什么意思? 你报错就是编码报错,gbk编码
改成 utf-8即可
你的意思难道是默认参数为什么能改嘛?


我的意思是:默认的应该是utf8,为何变成了bdk了?

Twilight6 发表于 2020-5-20 19:58:54

cdkeycdma 发表于 2020-5-20 19:57
我的意思是:默认的应该是utf8,为何变成了bdk了?

不是丫 python 默认就是GBK的
页: [1]
查看完整版本: 为何read()无法读出文件内容