- 打开文件
#使用 open
f = 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 os
os.remove('文件路径')
- 重命名文件
import os
os.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-body
target(S)是__enter__()方法的返回值