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