1.什么是with?
with是一个上下文管理协议,目的是从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except….finlally的处理流程。
2.with语句的基本语法格式
with expression [as target]
with_body
参数说明:
expression:是一个需要执行的表达式
target:是一个变量或者元组,存储的是expression表达式执行返回的结果,可选参数。
例如:
with open(“e:\\a.txt”,”r”,encoding=”utf-8”)as fp:
print(fp.read())
3.with处理对象的方法?
with处理对象的方法包括__enter__和__exit__两个方法。
with在__enter__初始化,__exit__执行结束善后和处理异常。
其中,enter__在语句体执行之前运行,exit__在语句体执行结束运行。
当对象被实例化时,就会主动调用__enter()方法,任务执行完成后就会调用__exit()方法。
示例:
class fun():
def __init__(self):
print("实例化一个对象")
def __enter__(self):
print("进入")
def __exit__(self,exc_type,exc_value,exc_traceback):
print