文章目录
文本文件和二进制文件
文本文件的编码
ASCLL(美国标准信息交换码)
ASCII (American Standard Code for Information Interchange)
8位编码,最多表示256个字符
UTF-8编码(国际通用的编码)
8位表示英语(兼容ASCLL),24位表示中文及其他语言
GB2312编码(中国制定的中文编码)
8位(1字节)表示英文字符,2字节表示汉字字符
Unicode
国际组织制定的可以容纳世界上所有文字和符号的字符编码方案
open() 返回一个文件对象
文件模式
r 读模式(默认),如果文件不存在就抛出异常
w 写模式,文件已经存在,先清空(谨慎使用);不存在,就新建一个文件;每次写完文件,文件都是最新的
x 写模式,如果文件不存在就创建新文件,如果文件已经存在则抛出异常
a 追加模式,如果原先文件不存在就先新建,不存在文件不会报错,存在那就再后面追加
组合使用
b 二进制模式
t 文本模式
+
文件对象的常用方法
文件读写练习
读一个文本文件并且输出内容
r:如果文件不存在,则报错
fileObject = open("D:/01.txt",'r')
content = fileObject.read()
print(content,end='')
fileObject.close()
注意
在Windows下,以文本模式写入的时候,会把‘\n’转换成‘\r’‘\n’,而读取的时候,又会把‘\r’‘\n’转换成‘\n’,二进制模式并不会。Linux下也不会有这种转换。所以在Windows下要保证读取和写入的数据一致,最好保证读取和写入的时候用的是同一种模式。