2018-06-08|2018-06-08 - python 上下文管理

#上下文管理
【2018-06-08|2018-06-08 - python 上下文管理】class dbcnn(object):
def __init__(self, cnxp):
self.cnn = cnxp.get_connection()
def __enter__(self):
return self.cnn
def __exit__(self, *exc_info):
self.cnn.commit()
self.cnn.close()
logging.warning(exc_info)


@contextmanager
def dbtest(cnxpool):
try:
cnn = cnxpool.get_connection()
yield cnn
except Exception as e:
logging.warning(traceback.format_exc())
pass

    推荐阅读