上下文管理器(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 = 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所指的变量
参考:
Python上下文管理器详解
本文介绍了Python中上下文管理器的概念及应用,包括with语句的使用方式和自定义上下文管理器的方法。通过实例展示了如何创建和使用自定义上下文管理器。
1518

被折叠的 条评论
为什么被折叠?



