python中with的用法
2013-09-16 13:06
274 查看
基本用法:
还有一种用法,使用contextmanager。contextlib是为了加强with语句,提供上下文机制的模块,它是通过Generator实现的。通过定义类以及写__enter__和__exit__来进行上下文管理虽然不难,但是很繁琐。contextlib中的contextmanager作为装饰器来提供一种针对函数级别的上下文管理机制。常用框架如下:
这只是一些基本的知识,深入的话,还得看文档。
>>> class A: def __enter__(self): print 'in enter' def __exit__(self, e_t, e_v, t_b): print 'in exit' >>> with A() as a: print 'in with' in enter in with in exit
还有一种用法,使用contextmanager。contextlib是为了加强with语句,提供上下文机制的模块,它是通过Generator实现的。通过定义类以及写__enter__和__exit__来进行上下文管理虽然不难,但是很繁琐。contextlib中的contextmanager作为装饰器来提供一种针对函数级别的上下文管理机制。常用框架如下:
from contextlib import contextmanager @contextmanager def make_context() : print 'in enter' try : yield {} except RuntimeError, err : print 'error' , err finally : print 'in exit' with make_context() as value : print 'with' in enter in with in exit
这只是一些基本的知识,深入的话,还得看文档。
相关文章推荐
- Python With 用法
- python中with的简单用法
- Python 中 with用法及原理
- python with用法
- python中关于with及contextlib的用法
- Python中with...as的用法
- python with的用法
- python中 with...as的用法
- Python with语句用法
- python中with语句的用法
- python with...as...用法
- Python with用法实例
- python中with的用法
- Python的with...as的用法
- python的with用法
- 【ZZ】python with...as...用法
- python with...as...用法
- Python中with及contextlib的用法详解
- tensorflow中python中with用法的理解
- python中关于with及contextlib的用法