在测试学习文件读写时候来测试一下按行读取文本内容,代码如下:
#context manager 上下文管理器 with
with open('a.txt','r') as f:
result = f.readline() #一行一行的读
print( result )
遇到了这个错误:
UnicodeDecodeError Traceback (most recent call last) <ipython-input-16-7adf862d99ba> in <module>() 1 #context manager 上下文管理器 with 2 with open('a.txt','r') as f: ----> 3 result = f.readline() #一行一行的读 4 print( result ) UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 36: illegal multibyte sequence
这个问题是在文件解码的时候出现了错误,我这个文件"a.txt"中内容如下:
这里面有中文,所以编码集要自己修改一下,带中文应该要用 “utf-8”这个编码集:
#context manager 上下文管理器 with
with open('a.txt','r',encoding='utf-8') as f:
result = f.readline() #一行一行的读
print( result )
就没问题了,输出结果如下: