在学习文件操作的时候经常会出现这样的报错,思考再三我决定解决这个问题。 #文件操作 #文件分为文本文件和二进制文件,文件是数据的抽象和集合 #其中文本文件通常是由单一特定编码组成:UTF-8编码;可以看作是一个长字符串。例如txt文件,.py文件。 #而二进制文件是直接由比特0和1组成的,也就是没有统一的字符编码。例如:.png & .avi文件。 #以文本形式打开文件:
file = open("111.txt","rt",encoding="utf-8")#含有中文字符的时候必须加上utf-8
print(file.readline())
file.close()
加上这个后解决第一个图片出现的问题 #以二进制文件形式打开
file = open("111.txt","rb")#不含中文字符的时候不加utf-8
print(file.readline())
file.close()
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Q1:为什么python打开文件必须加上utf-8否则会报错?
Python默认使用ASCII编码来打开文件,如果文件中存在非ASCII字符,如中文等,就会导致读取文件时出现编码错误,从而引发UnicodeDecodeError异常。为了解决这个问题,我们需要在打开文件时指定正确的编码格式。常用的编码格式之一是UTF-8,因此在打开文件时需要加上"utf-8"作为编码格式参数,以便正确地读取文件中的非ASCII字符。
Q2:ASCII字符包括哪些?
ASCII字符集包括128个字符,其中包括数字、字母、标点符号、控制字符和一些特殊字符。其中,数字0-90,小写字母a-z对应的ASCII码值为97-122。标点符号如逗号、句号、感叹号、问号等也都有对应的ASCII码值。此外,ASCII字符集中还包括一些控制字符,如换行符、制表符、回车符等。特殊字符如空格、删除符也属于ASCII字符集。