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