python知识点:上下文管理器[__enter__ 和 __exit__ ]
2017-03-21 21:55
429 查看
上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是with…as…
enter()返回一个对象。上下文管理器会使用这一对象作为as所指的变量
参考:
http://kuanghy.github.io/2015/08/08/python-with
http://www.cnblogs.com/vamei/archive/2012/11/23/2772445.html
with语句
with open('some.txt',"w") as f: for i in f: print i
自定义上下文管理器
实现函数enter和exitclass Diycontextor: def __init__(self,name,mode): self.name = name self.mode = mode def __enter__(self): print "Hi enter here!!" self.filehander = open(self.name,self.mode) return self.filehander def __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 with解析 __enter__()、__exit__() (十五)
- python基础----实现上下文管理协议__enter__和__exit__
- python ------------- __enter__(),__exit__(),with
- Python概念-上下文管理协议中的__enter__和__exit__
- python with..as.. __call__ __enter__ __exit__
- python中的__enter__ __exit__
- python __enter__ 与 __exit__的作用,以及与 with 语句的关系
- python __enter__ 与 __exit__的作用,以及与 with 语句的关系
- python知识点讨论
- 当python finally遇到break和sys.exit
- python中最后一个基础知识点,面向对象
- Python os._exit, sys.exit
- windows+python2.7在IDLE中执行sys.exit()出现的问题及解决方案
- Python常用知识点汇总
- 安装python模块时出现:error: Setup script exited with error: command 'gcc' failed with exit status 1
- 使用python开发命令行程序的知识点
- C# 线程手册 第三章 使用线程 Monitor.Enter() 和 Monitor.Exit()
- python的exit退出时,提示TypeError: 'str' object is not callable
- 同学分享的一篇关于python知识点的总结(挺好,故转载)
- 2440test中按键的分析(EnterCritical ExitCritical)