博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python上下文管理器的使用
阅读量:2120 次
发布时间:2019-04-30

本文共 1056 字,大约阅读时间需要 3 分钟。

上下文管理器可以控制代码块执行前的准备动作,以及执行后的清理动作。

创建一个上下文管理器类的步骤:

(1)一个__init__方法,来完成初始化(可选)
(2)一个__enter__方法,来完成所有建立工作
(3)一个__exit__方法,来完成所有清理工作

例子1:

class User():    def __init__(self):        print('实例化')    def __enter__(self):        print('进入')    def __exit__(self, exc_type, exc_val, exc_trace):        print('退出')obj = User()with obj:    print('主要内容')

运行结果:

实例化进入主要内容退出

例子2:操作MySql数据库

import mysql.connectorclass UseDatabase:    def __init__(self, config:dict) -> None:        self.configuration = config    def __enter__(self) -> 'cursor':        self.conn = mysql.connector.connect(**self.configuration)        self.cursor = self.conn.cursor()        return self.cursor    def __exit__(self, exc_ype, exc_value, exc_trace) -> None:        self.conn.commit()        self.cursor.close()        self.conn.close()dbconfig = {'host':'127.0.0.1',            'user':'root',            'password':'',            'database':'testdb',}with UseDatabase(dbconfig) as cursor:    _SQL = """insert into user(name,age)        values(%s,%s)"""    cursor.execute(_SQL, ('张三',22))

 

转载地址:http://sezrf.baihongyu.com/

你可能感兴趣的文章
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
AJAX 自己研究玩的
查看>>
javascript(js)数组操作
查看>>
用JavaScript脚本实现Web页面信息交互
查看>>
window 窗口对象操作
查看>>
公司一位老员工愤然离去的留信!崩溃!
查看>>
C#技巧:网页表单自动填写技术(以gmail为例)
查看>>
C#基础概念二十五问
查看>>
C#在Excel中将连续多列相同数据项合并
查看>>
C#如何把html中的相对路径变成绝对路径
查看>>
用C#编写发手机中文短信息Windows服务
查看>>
C#的四个基本技巧
查看>>
编程实例 使用C#的BitmapData
查看>>
区分Oracle和SQL Server常用函数调用方法
查看>>
详解Visual C#数据库基本编程
查看>>
第一个C#应用程序
查看>>
第一章C#简介
查看>>