在计算机的使用中,文件是必不可少的。在python中,当我们使用python中的with语句时,我们经常会遇到文件打开代码后未关闭指令或文件异常的问题。with 语句适用于访问资源,确保必要的“清理”操作和资源释放,无论使用过程中是否出现异常。
一、with语句简介
适用于访问资源(如文件使用后自动关闭, 自动获取和释放线程中锁), 确保无论使用过程中是否发生异常, 所有必要的清理操作(释放资源, 如上述文件所示, 锁等)。with是try..expect…finally语法的简化,并提供了一种非常非常好的处理方法。
二、with语句功能
1、解决文件打开后代码中没有相应关闭指令的问题;2、解决了写关闭指令但在操作关闭指令之前抛出的异常问题。
三、使用with语句法
上下文管理器协议使用with 调用,默认调用 enter 和 exit 两个魔法函数。
使用实例:自定义使用
classA(object): def__enter__(self): print('__enter__()called') returnself defprint_hello(self): print("helloworld!") def__exit__(self,e_t,e_v,t_b): print('__exit__()called') #先执行___先执行enter__方法 withA()asa:#a为__enter__返回对象 a.print_hello() print('gotinstance') #结束执行__结束执行__exit__方法
输出
__enter__()called helloworld! gotinstance __exit__()called
with语句在python中可以根据实际需要应用于不同的场景,是一个非常好用的python语句,可以直接应用~