各位麻烦看个小问题
>>> f=open('D:\\record.txt')>>> f.read()
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 28: illegal multibyte sequence #报错
>>> list(f)
[] #我的文本里面是有文字的,可是为什么打印不出来啊?
有两个疑惑的地方:
1.这个地方的报错不知道为什么
2.为什么用列表输出文本内容为空呢?
要以正确的编码格式打开文件 list(f.read()) wp231957 发表于 2021-3-21 21:09
要以正确的编码格式打开文件
我还是不太理解您的意思,是说 f=open('D:\\record.txt') 这样子的打开方式是错误的吗 qq1151985918 发表于 2021-3-21 21:18
list(f.read())
这样还是输出为空 本帖最后由 jackz007 于 2021-3-21 21:33 编辑
如果 read() 语句出错,那就意味着你无法读取到文件的内容,后面的所有操作都无意义。所以,必须首先解决这个问题才可以继续。
打开文件改用这条语句试试看
f=open('D:\\record.txt' , encoding='UTF-8') dandan0523 发表于 2021-3-21 21:22
这样还是输出为空
你都没打开成功,还list什么啊
文件编码了解一下,如果你在打开文件时没有指定编码方式,那么python默认使用utf8打开
如果你的文件恰巧是utf8那么恭喜你,不会有任何报错
页:
[1]