python前后文管理工具合同的完成
AI 摘要 / TL;DR
python前后文管理工具合同的完成 来源: https://www.ucloud.cn/yun/130274.html 作者: 89542767 发布日期: 发布于2023 01 13 15:30 本文关键阐述了python前后文管理工具合同的完成,在python中所有完成了前后文管理工具协议书目标都能用应用with
来源: https://www.ucloud.cn/yun/130274.html 作者: 89542767 发布日期: 发布于2023-01-13 15:30
本文关键阐述了python前后文管理工具合同的完成,在python中所有完成了前后文管理工具协议书目标都能用应用with实际操作,with开启了目标前后文管理工具
序言
在前后文管理工具协议书的过程当中,牵涉到2个魔术师方式__enter__方法与__exit__方式
在python中所有完成了前后文管理工具协议书目标都能用应用with实际操作
with开启了目标前后文管理工具
前后文管理工具协议书:
__enter__方式:进到enter方式返回最后被as后边的自变量接受
exit:撤出with中所有的句子执行完毕实行实行exit
完成简单的文件操作来看一下前后文管理工具协议书:
classMyOpen:
#创建对象
def__init__(self,filename,mode,encoding):
self.filename=filename
self.mode=mode
self.encoding=encoding
def__enter__(self):
print("---enter---方式")
#实行文件打开实际操作
self.f=open(self.filename,self.mode,encoding=self.encoding)
returnself.f
def__exit__(self,exc_type,exc_val,exc_tb):
"""
:paramexc_type:异常类型
:paramexc_val:异常信息
:paramexc_tb:出现异常追溯目标
:return:
"""
print('----enter---')
self.f.close()
withMyOpen('hr.txt','w',encoding='utf-8')asf:
print(f.write('现阶段开启了文档,载入了数据信息:23323232'))
用pymysql完成1个操作数据库的类,完成前后文管理工具协议书,完成撤出前后文时,自动退出游标卡尺,中断连接
todo:版本1
#todo:版本1:
classmysql_db(object):
#创建对象属性
def__init__(self):
1.连接数据库
self.cou=pymysql.connect(
host="数据库主机地址",
port=端口,
user="登录数据库的账号",
password="登录数据库的密码",
database="数据库名称",
charset='utf8',编码格式
cursorclass=pymysql.cursors.DictCursor 将默认的元组格式转换成字典格式输出
)
2.创建游标卡尺
self.cur=self.cou.cursor()
def__enter__(self):
returnself.cur 返回cur目标
def__exit__(self,exc_type,exc_val,exc_tb):
"""
:paramexc_type:异常类型
:paramexc_val:异常信息
:paramexc_tb:出现异常追溯目标
:return:
"""
#关闭游标卡尺
self.cur.close()
#关闭数据库连接
self.cou.close()
defObtain_one_date():
withmysql_db()asdb:
db.execute('select*fromt_customerLIMIT4')应用execute方法进行查询语句
content=db.fetchone()返回一条数据的查询的结果
print(content)
#函数调用
Obtain_one_date()
todo:版本2
sql='select*fromt_customerLIMIT4'
defmysql_db1(**kwargs):
returnpymysql.connect(host=kwargs.get('host','xxxx'),
user=kwargs.get("user",'xxxx'),
passwd=kwargs.get("passwd",'xxxx'),
database=kwargs.get("database",'xxxx'),
port=kwargs.get('port',xxxx),
charset=kwargs.get('charset','utf8'))
1.创建数据库连接目标
cou=mysql_db1()
2.创建游标卡尺
withcou.cursor()ascu:
cu.execute(sql)应用execute方法进行查询语句
commt=cu.fetchone()返回一条数据的查询的结果
print(commt)
#函数调用
mysql_db1()
综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助