一、什么是文件
1.应用程序运行过程中产生的数据最先都是存放在内存中的,如果想要永久保存下来,那么必须保存在硬盘中
2.应用程序如果想要操作硬件,那么必须通过操作系统,而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念
3.用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统来完成对硬盘的具体操作
结论:文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟概念/接口
二、文件模式的介绍(在后续章节中会详细讲)
1.控制文件的读、写内容的模式:t和b,t和b不能单独使用,必须与r/w/a连用,如:rt
t:表示文本(默认的模式,如:r后面不写t表示默认为文本模式)
1.读写都是以str为单位的
2.只针对类型为文本文件格式
3.必须指定encoding = “字符编码”
b:表示二进制/bytes
2.控制文件的读、写操作的模式
r:表示只读模式
w:表示只写模式
a:表示只追加写模式
+:r+、w+、a+ #r+表示只读模式给加上写模式(即可读可写),w+表示只写模式加上可读模式(即可读可写),a+表示在追加写模式加上可读模式(即可追加写和读)
二、文件操作的基本流程
1.打开文件,由应用程序向操作系统发起系统调用,操作系统打开该文件(这是会对应一盘硬盘空间)
# 这是打开文件(这里写的是文件的绝对路径),mode是指定文件的读、写,encoding指定文件的编码格式(指定的编码格式一定要与存文件的时候编码格式保持一致)
f = open("E:\py\文件IO操作\open文件.txt",mode="r","encoding = utf-8")
#这里用的是文件的相对路径,没有指定文件的路径表示已当前运行程序的路径为前提去找下面的文件
f = open(“open文件.txt”,“r”,“encoding = utf-8”)
res = f.read() # 调用文件下的读写方法,会被操作系统转化为读/写硬盘的操作
f.close() # 向操作系统发起关闭文件的请求,回收操作系统资源,注意:在打开文件后进行读、写操作后一定要关闭文件
2.文件的操作流程图,对应上面1的代码流程
3.with上下文管理
3.1为什么要用with关键字来进行上下文管理
因为当代码过多时,很多人经常会忘记进行关闭文件(f.close()),所以考虑到这一点py给提供了该语法来进行自动关闭
3.2 with语法
with open("open文件.txt",mode="rt") as f: #改行代码等于:f = open("E:\py\文件IO操作\open文件.txt",mode="r")
res = f.read()
print(res)
with语法同时打开多个文件,用分隔符(就是逗号)分开即可
with open(""open文件.txt",mode="rt"") as f,open(""open文件2.txt",mode="rt"") as f2:
res = f.read()
res2 = f2.read()
print(res)
print(res2)
# 同时打开多个文件时,一行的代码过长,可以用转义字符,表示他们还是一行的代码
with open(""open文件.txt",mode="rt"") as f,\
open(""open文件2.txt",mode="rt"") as f2:
执行代码块······