欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python知识点:上下文管理器[__enter__ 和 __exit__ ]

发布时间:2025/4/5 python 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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

自定义上下文管理器

实现函数enterexit

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 i

enter()返回一个对象。上下文管理器会使用这一对象作为as所指的变量 
参考:

  • http://kuanghy.github.io/2015/08/08/python-with
  • http://www.cnblogs.com/vamei/archive/2012/11/23/2772445.html

总结

以上是生活随笔为你收集整理的python知识点:上下文管理器[__enter__ 和 __exit__ ]的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。