文件处理
1.什么是文件处理
①.文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位
②.文件操作的核心就是读写
③.我们只需要对文件进行读写操作,就是对操作系统发起请求,然后由操作系统或应用程序对文件的读写操作转换成具体的硬盘指令。
2.为什么要有文件?
因为内存无法永久保存数据,但凡我们想要永久保存数据,都需要保存到硬盘,而操作文件就可以完成对硬件的操作
3.如何使用文件
把硬盘中的数据读到内存中
f = open(r’E:a.txt’,’r’,’utf-8’) r = rawstring 代表取消’’内 等的特殊含义
向操作系统发起请求,要求操作系统打开文件,占用操作系统的资源
data = f.read() 发起读请求,被操作系统转成具体的硬盘操作,读入内存
print(data)
f.close() 向操作系统发起请求,要求操作系统关闭文件,回收操作系统资源
4.绝对路径与相对路径
绝对路径:从盘符开始写(c:\)写一个完整的路径
相对路径:相对于当前执行的文件写的路径
5.文件读写的内容格式有两种:t模式(只能是文本文件,也只有文本文件有字符编码)
B模式bytes
注意:t与b两种模式不能单独使用,都需与r/w/a连用,默认模式为rt
b:二进制模式
注意:一定不能指定字符编码,只有t模式与字符编码有关
b是二进制模式,是通用的,因为硬盘存的都是二进制
f = open(‘egon.jpg’,’rb’)
f = open(‘egon.mp4’,’rb’)
rb模式下可以打开图片和mp4等各种格式
6.三种操作模式
①.只读模式 r
f = open(r’b.txt’) 默认rt
只能读,不能写
文件不存在时会报错,存在是光标从头开始读
f.read()一下读完 f.readline() 一次读一行
f.readlines() 全读,按每行转成列表
f.readable() 判断是否可读
②.只写模式 w
f = open(r’b.txt’, ’w’, ’utf-8’)
只能写,不能读
文件不存在时会创建空文件,文件存在时会把文件清空
f.write() f.writeable()
f.writelines([‘abc ’, ’222 ’)把列表中字符串写入文件,该列表必须只含字符串
③.只追加模式 a
f = open(r’b.txt’, ’a’, ’utf-8’)
只能写,不能读
文件存在时会把光标移到文件结尾,其他和w模式相同
7.循环读
f = open(r’b.txt’)
for line in f:
print(line)
f.close()
8.with 的用法 用with打开时就不用注意文件的关闭,操作完后会自动关闭操作系统的文件
with open(‘a.txt’,’rb’) as f1,open(‘b.txt’, ‘wb’) as f2,
open(‘c.txt’, ‘ab’) as f3:
pass