操作文件的流程:
1打开文件,得到文件内容,并赋值给一个变量
2,对文件进行操作
3,关闭文件
#1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r#2. 通过句柄对文件进行操作
data=f.read()#3. 关闭文件
f.close()
f=open(‘a.txt’,‘r’)的过程分析
1.由应用程序向操作系统发起调用open(。。。)
2.操作系统打开该文件,并返回一个文件句柄给应用程序
3.应用程序将文具句柄赋值给变量f
打开文件的模式:
r 只读模式(默认模式,文件必须存在,不存在则会报错)
w 只写模式(不可读,不存在创建,存在则清空空间)
a 只追加写模式(不可读,不存在则创建,存在则只追加内容)
=======================================================
t 文本模式(默认)
b 二进制模式
=======================================================
+ 打开一个文件进行更新(可读可写)
f 对象使用文件open函数来创建:
f.close()关闭文件,关闭文件后不能再进行读写操作
f.flush() 刷新文件内部缓冲,直接拿内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入
f.isatty()如果文件连接到一个终端设备返回true,否则返回false
f.fileno()返回一个整型的文件描述符,可以用在如os模块的read方法等一些底层操作上
f.next ()返回文件下一行
f.read()从文件中读取内容
f.readline()读取所有行并返回列表
f.seek()设置文件担当前位置
f.tell()返回文件当前位置
f.write 将字符串写入文件,返回的是写入的字符长度
f.wrielines()向文件写入一个序列字符串,如果需要换行则需要自己加入没行的换行符
#掌握
f.read() #读取所有内容,光标移动到文件末尾f.readline() #读取一行内容,光标移动到第二行首部f.readlines() #读取每一行内容,存放于列表中f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符
f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,需要自己写换行符f.writelines(['333\n','444\n']) #文件模式f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式#了解
f.readable() #文件是否可读f.writable() #文件是否可读f.closed #文件是否关闭f.encoding #如果文件打开模式为b,则没有该属性f.flush() #立刻将文件内容从内存刷到硬盘f.name