zoukankan      html  css  js  c++  java
  • 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类里对应的参数
  • 相关阅读:
    LC.225. Implement Stack using Queues(using two queues)
    LC.232. Implement Queue using Stacks(use two stacks)
    sort numbers with two stacks(many duplicates)
    LC.154. Find Minimum in Rotated Sorted Array II
    LC.81. Search in Rotated Sorted Array II
    LC.35.Search Insert Position
    前后端分离:(一)
    Redis基本使用(一)
    GIT篇章(二)
    GIT篇章(一)
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8640646.html
Copyright © 2011-2022 走看看