一、文件基本处理
1、什么是文件
文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位
ps:文件是操作系统的概念
2、为何要用文件
存取硬盘必须使用文件
ps:要永久保存数据就得用文件把数据放进硬盘
3、如何用文件
f = open(文件路径,打开模式)
f.write(数据)
f.close()
应用程序/用户 文件对象/文件句柄=================》遥控器
操作系统 打开文件a.txt============》空调
硬件 硬盘
ps:操作文件涉及两方面的资源占用:应用程序、操作系统
为了节省内存,不用文件时把操作系统的资源关掉
4、绝对路径
# windows系统
D:python38Docpython383
C:ac ew.txt
ps:为了防止转意,可将文件路径的字符串前加r
# linux系统
/a/b/c/d.txt
ps:linux中/代表大文件第二个/代表子文件第三个/代表子文件的子文件
5、相对路径
cd.txt
d.txt
# 示范:rt模式下 # r"D:python全栈15期day10a.txt" f = open(r"aaaa.txt", mode='rt',encoding='utf-8') res=f.read() print(res) f.close()
#rb模式下 f = open(r"aaaa.txt", mode='rb') res=f.read() # print(res,type(res)) x=res.decode('utf-8') print(x) f.close()
#图片 f=open('aaa.jpg',mode='rb') res=f.read() print(res) f.close()
6.文件处理三个步骤每一步是在做什么事情
f=open(文件路径,打开模式) #打开文件,返回值赋值给f
x=f.read() #读/写f.write()文件,依打开模式而定
f.close() #关闭文件
7、检测出f代表的是什么
#打开文件,由应用程序向操作系统发起系统调用open(...),操作系统打开该文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量f
f=open('m.txt',mode='rt',encoding='utf-8') # f的值是一种变量,占用的是应用程序的内存空间 print(f)#<_io.TextIOWrapper name='m.txt' mode='rt' encoding='utf-8'>
#操作文件:调用文件对象下的读/写方法,会被操作系统转换为读/写硬盘的操作
res=f.read().strip(' ') print(res) print('='*100)
#向操作系统发起关闭文件的请求,回收系统资源
f.close() # 回收操作系统资源,没有回收f print(f)#<_io.TextIOWrapper name='m.txt' mode='rt' encoding='utf-8'> #f.read()报错,文件已关闭。但变量f是存在的,只是不能读了