1.什么是文件
文件是操作系统提供给用户/应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间
2.为什么要处理文件
用户/应用程序直接操作文件(读/写)就被操作系统转换成具体的硬盘操作,从而实现用户/应用衬线将内存中的数据永久保存到硬盘中
3.如何使用文件
#文件处理的三个步骤
open(r'c.txt')
在字符串前加一个r代表RAWString 写路径前面加一个r
open发生的第一件事 就是告诉操作系统打开一个文件 打开一个文件就是对应一个硬盘空间
open函数返回值占用的是应用程序的内存空间
f.read() 执行读
f.close() 向操作系统发送信号,让操作系统关闭打开的文件,从而回收操作系统的资源
f=open(r'c.txt',mode='r',encoding='utf-8')
文件对象(应用程序的内存资源)------>操作系统打开文件(操作系统的内存资源)
data=f.read()
print(data) 读取文件内容 输出读取的文件内容
上下文管理
with open(r'c.txt',mode='r',encoding='utf-8') as f,
open(r'b.txt',mode='r',encoding='utf-8') as f1:
#读写文件操作 with会帮助你关闭文件
文件的打开模式:r w a
操作文件内容的模式:t b
t(默认的):操作文件内容都是以字符串为单位,会自动帮我们解码,必须指定encoding参数
b:操作文件内容都是以Bytes(二进制)为单位,硬盘中存什么就取什么,不一定指定encording参数
with open(r'c.txt',mode='rb') as f:
res=f.read()
print(res,type(res))
总结:t模式只能用于文本文件 而b模式可以用于任意文件
r模式:只读模式,在文件不存在时则报错,如果文件存在文件指针跳到文件开头
with open(r'c.txt',mode='r',encoding='utf-8') as f:
print(f.read())
print(f.readable()) 返回True
print(f.writable()) 返回false
#f.write('hello')只能读 mode默认是rt格式
res=f.readline() 读一行(第一行)
print(res)
res=f.readlines() 读多行 读出来返回一个列表
循环读取文件内容的方法
with open(r'c.txt',mode='rt',encoding='utf-8') as f:
for line in f:
print(line,end='')