在计算机的使用中,文件是必不可少的。在python中,我们使用文件常常会遇到文件打开代码后没有关闭指令或者文件发生异常的问题,这时我们可以使用python中with语句,with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源。
一、with语句简介
适用于对资源进行访问的场合(如文件使用后自动关闭, 线程中锁的自动获取和释放), 确保不管使用过程中是否发生异常, 都执行必要的清理操作(以释放资源, 如上述的文件, 锁等)。with是对try…expect…finally语法的一种简化,并且提供了对于异常非常好的处理方式。
二、with语句功能
1、解决文件打开后代码中没有相应的关闭指令的问题;
2、解决写了关闭指令但是在运行关闭指令前抛出了异常的问题。
三、使用with语句方法
上下文管理器协议是用with 进行调用,默认调用了 enter 和 exit 两个魔法函数。
使用实例:自定义使用
class A(object): def __enter__(self): print('__enter__() called') return self def print_hello(self): print("hello world!") def __exit__(self, e_t, e_v, t_b): print('__exit__() called') # 首先会执行__enter__方法 with A() as a: # a为__enter__的返回对象 a.print_hello() print('got instance') # 结束会执行__exit__方法
输出
__enter__() called hello world! got instance __exit__() called
python中with语句可以根据实际需要应用在不同的场景,是一个很好用的python语句,大家可以直接套用使用哦~