Python利用上下文实现类似with open功能

2017-09-11 14:56:26来源:http://daibaiyang119.blog.51cto.com/3145591/1964018作者:人点击

分享

importcontextlib

@contextlib.contextmanager
defmyopen(file,mode):
f=open(file,mode,encoding="utf-8")
try:
yieldf
finally:
f.close()

withmyopen("01-thread.py",'r')asf:
print(f.read())

这里使用Python contextlib模块模拟了我们常用的with open功能,这里使用了contextlib.contextmanager装饰器,不能缺失!


微信扫一扫

第七城市微信公众平台