python中的with

Posted 0bug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的with相关的知识,希望对你有一定的参考价值。

看例

"""
需求:不用数据库连接池,实现数据库链接操作
"""


class SQLHelper(object):
    def open(self):
        pass

    def fetch(self):
        pass

    def close(self):
        pass

    def __enter__(self):
        self.open()
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.close()


# 方式一
# obj = SQLHelper()
# obj.open()
# obj.fetch()
# obj.close()


# 方式二
with SQLHelper() as obj:  # 自动调用类中的__enter__方法,obj就是__enter__方法的返回值。
    obj.fetch()
    # 执行完毕后会自动调用类的__exit__方法

  

  

以上是关于python中的with的主要内容,如果未能解决你的问题,请参考以下文章

如何包装所有片段(不在里面)or) with?

[React Testing] Use Generated Data in Tests with tests-data-bot to Improve Test Maintainability(代码片段

add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段

add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段

Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段

A 8b Time-Interleaved Time-Domain ADC with Input-Independent Background Timing Skew Calibration(代码片段