python知识点:上下文管理器[__enter__ 和 __exit__ ]
生活随笔
收集整理的这篇文章主要介绍了
python知识点:上下文管理器[__enter__ 和 __exit__ ]
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/reallocing1/article/details/64526895
上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是with…as…
with语句
with open('some.txt',"w") as f:for i in f:print i自定义上下文管理器
实现函数enter和exit
class Diycontextor:def __init__(self,name,mode):self.name = nameself.mode = modedef __enter__(self):print "Hi enter here!!"self.filehander = open(self.name,self.mode)return self.filehanderdef __exit__(self,*para):print "Hi exit here"self.filehander.close()with Diycontextor('py_ana.py','r') as f:for i in f:print ienter()返回一个对象。上下文管理器会使用这一对象作为as所指的变量
参考:
- http://kuanghy.github.io/2015/08/08/python-with
- http://www.cnblogs.com/vamei/archive/2012/11/23/2772445.html
总结
以上是生活随笔为你收集整理的python知识点:上下文管理器[__enter__ 和 __exit__ ]的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 批处理(.bat)无限循环,定时,固定时
- 下一篇: 使用python xmodem 模块下载