• day12_框架二tools.py代码


    import pymysql
    import redis
    import requests
    import hashlib
    import os
    from conf.settings import REPORT_PATH


    class MyMysql(object):
    def __init__(self, host, port, user, password, db, charset='utf8'):
    self.__host = host
    self.port = port
    self.user = user
    self.password = password
    self.db = db
    self.charset = charset
    self.__get_cur() # 在类初始化的时候就去调用创建游标的函数

    def __get_cur(self):
    try:
    self.con = pymysql.connect(host=self.__host, port=self.port, user=self.user,
    password=self.password, db=self.db, charset=self.charset)
    except Exception as e:
    print('这里出错了,错误信息是:%s' % e)
    else:
    self.cur = self.con.cursor() # 建立游标

    def select_sql(self, sql):
    try:
    self.cur.execute(sql)
    except Exception as e:
    print('sql执行失败:%s' % e)
    else:
    return self.cur.fetchall()

    def other_sql(self, sql):
    try:
    self.cur.execute(sql)
    except Exception as e:
    print('sql执行失败:%s' % e)
    else:
    self.con.commit()

    def close(self):
    self.cur.close()
    self.con.close()


    class MyRedis(object):
    def __init__(self, host, port, password):
    self.pool = redis.ConnectionPool(host=host, port=port, password=password)
    self.r = redis.Redis(connection_pool=self.pool)

    def get(self, k):
    return self.r.get(k)

    def set(self, k, v):
    self.r.set(k, v)


    def my_request(method, url, data=None, headers=None, files=None): # 返回结果函数
    try:
    if method.upper() == 'GET':
    r = requests.get(url, data, headers=headers, files=files).json() # 不返回json串也会报错
    else:
    r = requests.post(url, data, headers=headers, files=files).json()
    except Exception as e:
    return '出错了,错误是:%s' % e
    return r


    def my_md5(st): # 加密函数
    secret_key = 'st90dsf43ert'
    st = str(st) + secret_key
    md = hashlib.md5()
    md.update(st.encode())
    return md.hexdigest()


    def get_new_report():
    html_path = os.path.join(REPORT_PATH, 'html')
    all_report = os.listdir(html_path)
    file_name = all_report[-1]
    abs_path = os.path.join(html_path, file_name)
    return abs_path


    def remove_report():
    html_path = os.path.join(REPORT_PATH, 'html')
    all_report = os.listdir(html_path)
    for report in all_report:
    abs_path = os.path.join(html_path, report)
    os.remove(abs_path)

    # my_mysql = MyMysql(**MYSQL_INFO) # **会自动把字典里的值传给MyConnect类里对应的参数
    # my_redis = MyRedis(**REDIS_INFO) # **会自动把字典里的值传给MyMysql类里对应的参数
  • 相关阅读:
    连接多台机子的多个数据库webconfig
    md5
    JavaScript substring() 方法
    Coolite ComboBox 模糊查询
    2010暴强语录
    Response.ContentType 说明
    C#得到磁盘信息
    Coolite Toolkit 1.0版本在线demo
    关于IT人职业道德的反思(转)
    Coolite TextField添加回车事件
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8640646.html
Copyright © 2020-2023  润新知