python socket mysql_python 中使用with简化MySQL 和 Socket 的连接

数据库 :

from pymysql import *

class DB(object):

def __init__(self):

self.conn = connect(host='localhost', port=3306, database='python_test_1', user='root', password='mysql', charset='utf8')

self.cos = self.conn.cursor()

# self.num = self.cos.execute()

def __enter__(self):

return self.cos

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

self.conn.commit()

self.conn.close()

self.cos.close()

with DB() as db:

num = db.execute("""insert into classes(name) values("python9") """)

socket 的with简化代码 :

# 导包

from socket import *

# 定义一个套接字的类

class sock(object):

# 把一些固定的语句放入init中

def __init__(self):

self.server_soc = socket(AF_INET, SOCK_STREAM)

self.server_soc.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)

self.server_soc.bind(("",1314))

self.server_soc.listen(1024)

# 将需要返回的数据放入return

def __enter__(self):

self.client_soc, client_addr = self.server_soc.accept()

content = self.client_soc.recv(1024)

return content.decode("utf-8")

# 关闭套接字

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

self.server_soc.close()

self.client_soc.close()

while True:

with sock() as soc:

print(soc)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值