- 打开文件
#使用 openf = open('路径',mode = '打开模式', encoding='编码')#可以使用with语句打开,不需要关闭,可以同时打开多个文件with open('路径',mode = '打开模式', encoding='编码') as f: pass
open获取的是文件句柄,使用的编码是系统的编码。
- 关闭文件
f.close()
- 打开模式
模式 操作-------------------r 只读w 只写rb 以二进制读wb 以二进制写a 追加ab 以二进制追加r+ 读写w+ 写读w+b 以二进制写读r+b 以二进制读写a+ 追加读
- 读取文件
#read()content = f.read() #一次性全部读出来#readline()content = f.readline() #一行一行的读#readlines()content = f.readlines() #全部读出来,每行存储成一个列表的元素#for循环 **建议使用**for content in f: pass
- 写入文件
f.write('内容')
- 删除文件
import osos.remove('文件路径')
- 重命名文件
import osos.rename('修改前的文件名','修改后的文件名')
- 文件指针
#获取指针位置f.tell()#设置指针位置f.seek(指针) #指针是int类型,从0开始
- with语句的原理——上下文管理器
1.上下文管理协议:包含方法__enter__()和__exit__(),支持该协议的对象要实现这两种方法2.上下文管理器:支持上下文管理协议的对象,这种对象实现了__enter__()和__exit__()方法。上下文管理器定义执行with语句时要建立的运行时上下文,负责执行with语句块上下文中的进入与退出操作。3.运行时上下文:由上下文管理器创建,通过上下文管理器的__enter__()和__exit__()方法实现,__enter__()方法在语句体执行前进入运行时上下文,__exit__()在语句体执行完从运行时上下文推出。4.上下文表达式:with语句中跟在关键字with之后的表达式,返回一个上下文管理器对象5.with context_expression as target(s): with-bodytarget(S)是__enter__()方法的返回值