yileina 发表于 2021-1-29 15:59:49

救救孩子把,python中的文件无法读取汉字,改成数字才能读取

>>> f = open('C:\Users\z2001\Desktop\record.txt','r')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> f = open(r'C:\Users\z2001\Desktop\record.txt')
>>> f.tell()
0
>>> f.read()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
    f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 2: illegal multibyte sequence
>>> f.close()
>>> f = open('C:\Users\z2001\Desktop\record.txt','r')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> f = open(r'C:\Users\z2001\Desktop\record.txt')
>>> f.read()
'10086\n'
>>>

有两个疑问:
【1】打开模式不是第二个参数吗,为什么加上去会报错
【2】为什么只能读取数字,汉字和英文单词都不行

昨非 发表于 2021-1-29 16:08:08

本帖最后由 昨非 于 2021-1-29 16:23 编辑

编码问题,换成utf-8试试
f = open(r'C:\Users\z2001\Desktop\record.txt','r',encoding='utf-8')

yileina 发表于 2021-1-29 16:16:45

昨非 发表于 2021-1-29 16:08
编码问题,换成utf-8试试

>>> f = open('C:\Users\z2001\Desktop\record.txt','r',encoding='utf-8')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> 还是错误,呜呜呜

qiuyouzhi 发表于 2021-1-29 16:23:40

yileina 发表于 2021-1-29 16:16
>>> f = open('C:%users\z2001\Desktop\record.txt','r',encoding='utf-8')
SyntaxError: (unicode erro ...

换成gbk试试?
f = open('C:\Users\z2001\Desktop\record.txt','r',encoding='gbk')
P.S: 打开模式是第二个参数,这个参数的默认值就是'r',所以设置不设置都一样,错误不在这里,
在编码上。
你看报错信息就能看出来了。

yileina 发表于 2021-1-29 16:26:00

qiuyouzhi 发表于 2021-1-29 16:23
换成gbk试试?

P.S: 打开模式是第二个参数,这个参数的默认值就是'r',所以设置不设置都一样,错误不 ...

>>> f = open('C:\Users\z2001\Desktop\record.txt','r',encoding='gbk')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> 太难了。。。

昨非 发表于 2021-1-29 16:26:07

yileina 发表于 2021-1-29 16:16
>>> f = open('C:%users\z2001\Desktop\record.txt','r',encoding='utf-8')
SyntaxError: (unicode erro ...

路径前加个r再试试吧
还是二楼的那个代码,改了一下

yileina 发表于 2021-1-29 16:28:27

昨非 发表于 2021-1-29 16:26
路径前加个r再试试吧
还是二楼的那个代码,改了一下

把第二个参数'r'去掉就对了。。。。

非常感谢{:10_250:}困扰两天了

qiuyouzhi 发表于 2021-1-29 16:28:49

yileina 发表于 2021-1-29 16:26
>>> f = open('C:%users\z2001\Desktop\record.txt','r',encoding='gbk')
SyntaxError: (unicode error) ...

可以发下文件内容吗?

yileina 发表于 2021-1-29 16:31:03

qiuyouzhi 发表于 2021-1-29 16:28
可以发下文件内容吗?

太难啦
就上面三个字{:10_282:}

昨非 发表于 2021-1-29 16:31:49

qiuyouzhi 发表于 2021-1-29 16:28
可以发下文件内容吗?

帖子源文UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 2: illegal multibyte sequence,gbk楼主已经试过了,不行啊

qiuyouzhi 发表于 2021-1-29 16:32:58

昨非 发表于 2021-1-29 16:31
帖子源文,gbk楼主已经试过了,不行啊

噢,好吧,没看到
只看到了第一条..
页: [1]
查看完整版本: 救救孩子把,python中的文件无法读取汉字,改成数字才能读取