目录
一、文件的基本概念
(一)什么是文件
文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位/功能。
应用程序/用户对文件的读写操作都是在向操作系统发起系统调用,操作系统接收到调用请求后,会将该请求转换成具体的硬盘操作。
(二)为什么要用文件
为了让应用程序能够将内存中的数据永久保存下来。
二、文件操作的基本流程
(一)文件的基本操作
1.文件的路径
为了找到文件的地址,我们需要知道什么是文件的相对路径与绝对路径。
绝对路径:r'C:ac
ew.txt'
相对路径:相对于当前程序所在文件夹往后找,r"aaa/a.txt"
转义符号:由于Windows系统中文件路径的分隔符是,所以我们需要在路径前面加上r,变为原生字符串,防止转义符被读取。
2.操作文件的流程
# 1. 打开文件,由应用程序向操作系统发起系统调用open(...),操作系统打开该文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量f
f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
# 2. 调用文件对象下的读/写方法,会被操作系统转换为读/写硬盘的操作
data=f.read()
# 3. 向操作系统发起关闭文件的请求,回收系统资源
f.close()
(二)文件的操作模式
1.控制文件读写内容的模式
注意:t、b模式均不能单独使用,必须与r/w/a之一结合使用
(1)t(默认的):文本模式
1) 读写文件都是以字符串为单位的
2) 只能针对文本文件
3) 必须指定encoding参数
(2)b:二进制模式
1) 读写文件都是以bytes/二进制为单位的
2) 可以针对所有文件
3) 一定不能指定encoding参数
2.控制文件读写操作的模式
(1)r(默认的):只读模式
1) 只读模式
2) 当文件不存在时则报错
3) 当文件存在时文件指针跳到文件开头
(2)w:只写模式
1) 只写模式
2) 当文件不存在会创建一个空文件,然后文件指针跳到文件开头
3) 当文件存在时文件内容会被清空,然后文件指针跳到文件开头
(3)a:只追加写模式
1) 只追加模式
2) 当文件不存在会创建一个空文件,然后文件指针跳到文件末尾
3) 当文件存在时文件内容不会被清空,文件指针跳到文件末尾