标签:python python文件处理过程 python上下文管理协议
一.使用场景class Open():
def __init__(self,name):
self.name = name
def __enter__(self):
print(‘执行__enter__()方法‘)
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print(‘执行__exit__方法‘)
print(exc_type)
print(exc_val)
print(exc_tb)
return True
with Open(‘W.txt‘) as f:
print("执行with代码块")
print(f.name)
print(f.value) #--->错误在此处
print("执行with最后的代码块") #--->不执行
print("继续with之后的代码块")
三.有何用途?
1.使用with语句的目的是将代码块放入with中执行,with结束后,会自动完成清理工作(内存清理),无需手动干预。
也就是说,在with结束后会自动关闭文件(使用close方法),我们可以想到,不管有没有异常,with代码块最后都会执行exit()方法,此时我们可以在exit()中完成内存清理工作。
2.在需要管理一些资源如文件、网络连接和锁等编程环境中,我们可以在exit方法中自定义释放资源的机制。该功能会有很大的用处。
标签:python python文件处理过程 python上下文管理协议
原文地址:http://blog.51cto.com/10836356/2111058