一、概念
1、“管道”:文件对象,有具体操作
二、操作模式
1、r:文件不存在则报错、指针放在文件开头
2、w:文件不存在会创建新文件、指针放在文件开头,比如多从调用f.write(“str”)会覆盖原来内容(完全覆盖式写入)
3、a:文件不存在会创建新文件、追加(只写)形式,指针放在文件结尾
4、增加b:rb、wb、ab,上述操作以二进制形式,比如使用图片视频音乐
5、增加+:r+、w+、a+、rb+、wb+、ab+六种模式,+为以读写形式打开 ,特性几乎不变
w+:原来为完全覆盖式写入,现在为部分覆盖式写入。若打开文件进行了多次操作,指针也会随之移动
三、定位
1、f.tell()确定文件指针的位置
2、f.seek(偏移量,位置)相对某个位置增加偏移量,对于位置0(开头),1(当前位置),2(文本结尾),以文本文件打开只能为0
四、读
1、f.read(读取长度)从指针位置开始读
2、f.readline()从指针位置开始一排一排读
3、f.readlines()从指针位置开始多排读,加上换行符一起将整体读出,传回列表一行为一个元素
4、for in可以遍历文件对象,一行一行的迭代(文件对象拥有和迭代器一样的特性)
5、判定可读的容错处理:f.readable()提升健壮性
6、文件很大节约内存使用2和4相当于迭代器的优点,文件小使用1和3速度快性能好
五、写入
1、f.write(“内容”)返回写入字节长度
2、判定可写容错处理:f.writeable()提升健壮性
六、关闭
1、释放系统资源
2、写入时会将数据先放到缓冲区中区,close会立即清空缓冲区数据内容到磁盘文件中
3、f.flush()立即刷新缓冲区数据
七、其他操作
1、import os模块:rename();renames();remove();rmdir();removedirs();mksdir()
2、重命名:os.rename(srt,dtr)修改单级;os.renames(old,new)修改多级;
3、删除
删除文件:os.remove("文件路径");
删除目录(只能删除非空目录):os.rmdir(path)不能递归删除只能删除一个;os.removedirs(path)可递归删除可删除多级目录;
4、创建文件夹:os.mksir(“文件名称”),不可递归创建
5、 获取当前目录:os.getcwd()
6、改变当前文件目录位置os.chdir(文件路径)
7、获取文件夹下的目录内容以列表返回os.listdir(文件名称)
8、"./"当前目录;"../"上一节目录;