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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。