From 9d805b70936a4c7f87e98d758107e446c3a939c2 Mon Sep 17 00:00:00 2001 From: FEIJINTI <83849113+FEIJINTI@users.noreply.github.com> Date: Thu, 20 Oct 2022 14:42:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 3 +++ database.py | 65 ++++++++++++++++++++++++++++++++++++++++++++++ socket_detector.py | 1 + 3 files changed, 69 insertions(+) create mode 100644 database.py diff --git a/config.py b/config.py index adf1afd..d08fb40 100644 --- a/config.py +++ b/config.py @@ -20,8 +20,10 @@ class Config(object): else: self.model_path = str(ROOT_DIR / 'models/model_2022-10-17_11-10.p') self.data_path = str(ROOT_DIR / 'data/data20220919') + self.database_addr = str("mysql+pymysql://root:@localhost:3306/orm_test") # 测试用数据库地址 self._param_dict['model_path'] = self.model_path self._param_dict['data_path'] = self.data_path + self._param_dict['database_addr'] = self.database_addr def __setitem__(self, key, value): if key in self._param_dict: @@ -45,6 +47,7 @@ class Config(object): self._param_dict = json.load(f) self.data_path = self._param_dict['data_path'] self.model_path = self._param_dict['model_path'] + self.database_addr = self._param_dict['database_addr'] def _write(self): with open(Config.model_path, 'w') as f: diff --git a/database.py b/database.py new file mode 100644 index 0000000..c8bb30e --- /dev/null +++ b/database.py @@ -0,0 +1,65 @@ +# -*- codeing = utf-8 -*- +# Time : 2022/10/20 13:54 +# @Auther : zhouchao +# @File: database.py +# @Software:PyCharm +import datetime +import time + +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.dialects.mysql import INTEGER, VARCHAR +from sqlalchemy import Column, TIMESTAMP, DATETIME +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +Base = declarative_base() + + +class Wood(Base): + __tablename__ = 'color' + + id = Column(INTEGER, primary_key=True) + color = Column(VARCHAR(256), nullable=False) + time = Column(DATETIME, nullable=False) + + + def __init__(self, color): + self.time = datetime.datetime.now() + self.color = color + + +class Database(object): + def __init__(self, database_addr): + self.database_addr = database_addr + + def init_db(self): + engine = create_engine(self.database_addr, encoding="utf-8", echo=True) + Base.metadata.create_all(engine) + print('Create table successfully!') + + def add_data(self, color): + # 初始化数据库连接 + engine = create_engine(self.database_addr, encoding="utf-8") + # 创建DBSession类型 + DBSession = sessionmaker(bind=engine) + + # 创建session对象 + session = DBSession() + # 插入单条数据 + # 创建新User对象 + new_wood = Wood(color) + # 添加到session + session.add(new_wood) + # 提交即保存到数据库 + session.commit() + + +if __name__ == '__main__': + test_addr = "mysql+pymysql://root:@localhost:3306/color" + database = Database(test_addr) + database.init_db() + t1 = time.time() + for i in range(100): + database.add_data('middle') + t2 = time.time() + print((t2-t1)/100) \ No newline at end of file diff --git a/socket_detector.py b/socket_detector.py index 81e1048..536d654 100644 --- a/socket_detector.py +++ b/socket_detector.py @@ -71,6 +71,7 @@ def main(is_debug=False): process_cmd(cmd=cmd, data=data, connected_sock=dual_sock, detector=detector, settings=settings) + if __name__ == '__main__': # 2个端口 # 接受端口21122