首页 > 代码库 > Python with语句

Python with语句

with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

示例:

  with open(rsomefileName) as somefile:        for line in somefile:            print line            # ...more code

自定义应用:

    class DummyResource:    def __init__(self, tag):            self.tag = tag            print Resource [%s] % tag        def __enter__(self):            print [Enter %s]: Allocate resource. % self.tag            return self      # 可以返回不同的对象        def __exit__(self, exc_type, exc_value, exc_tb):            print [Exit %s]: Free resource. % self.tag            if exc_tb is None:                print [Exit %s]: Exited without exception. % self.tag            else:                print [Exit %s]: Exited with exception raised. % self.tag                return False   # 可以省略,缺省的None也是被看做是False

 

  

Python with语句