一、文件操作分两种模式:
1.控制文件操作方法的模式:
#r:只读模式
#w:只写模式
#a:只追加写
2.控制文件操作内容格式的模式:
#t:无论读写都是以字符串str为单位,只能用于文本文件,并且必须指定encoding参数。(不用指定,默认是t模式)
#b:无论读写都是以二进制bytes为单位,适用于所有文件。一定不能指定encoding参数。
二、文件读取
#在t模式下研究文件读取(b模式也是一样可以进行操作,如果读取文本文件的话,多一步encode操作即可返回字符)
f.read() #把文本文件内容一次性全部读取到内存中,读取成大的字符串,仅适合小文件。(若文件太大,会导致主机内存占满)
f.readlines() #把文件内容逐行读取,将每一行内容读取后返回一个新列表。(若文件太大,会导致主机内存占满)
f.readline() #读取文件内容中的第一行,返回一个字符串。(由于r模式打开,文件指针在开头)
三、文件指针
f.read(n) #只有t模式下的read(n)中的n代表读取的字符个数,除此以外文件内指针的移动都是以bytes为单位
f.seek(参数1,参数2) #主动控制文件内指针的移动
f.tell() #永远按照文件开头,开始数当前指针所在的位置
参数1:控制移动的字节个数
参数2: 控制参照的位置
#0:代表参照文件开头(默认)只有0模式可以在t模式下使用
#1:参照指针当前所在的位置 只能在b模式下使用
#2:参照指针末尾 只能在b模式下使用