python的api中lib的tools汇总1

import hashlib, pymysql,redis,time
from config import setting



# md5加密,加盐
def md5(s):
s = (str(s) + setting.SALT).encode()
m = hashlib.md5(s)
return m.hexdigest()


def op_mysql(sql: str):
result = '执行完成'
conn = pymysql.connect(**setting.mysql_info)
cur = conn.cursor(pymysql.cursors.DictCursor) # 建立游标
cur.execute(sql)
if sql.strip().lower().startswith('select'):
result = cur.fetchone()
#result = cur.fetchall()
cur.close()
conn.close()
return result


def saveRedis(data, key):
r = redis.Redis(**setting.redis_info) # 0-15
r.set(key,data,3000) # 200秒的失效时间
# p = r.pipeline()
# for d in data:
# p.hset(key, d.get('uin'), json.dumps(d, ensure_ascii=False))
# p.execute()
print('redis写入完成!')

def getRedis(key):
r = redis.Redis(**setting.redis_info) # 0-15
return r.get(key)


def clear_error_count(table, username):
# username = input('username:').strip()
sql = 'update %s set error_count = 0 where username = "%s";' % (table, username)
return op_mysql(sql)

# 这个函数用来判断表是否存在
def table_exists(table_name):
sql2 = "show tables;"
conn = pymysql.connect(**setting.mysql_info)
cur = conn.cursor(pymysql.cursors.DictCursor) # 建立游标
cur.execute(sql2)
table_list =cur.fetchall()
for js in range(len(table_list)):
if table_name==table_list[js]['Tables_in_jxz']:
return 1 # 存在返回1
return 0 # 不存在返回0

# 把时间戳转换成格式化
def timestamp_to_str(timestamp=None, format='%Y-%m-%d %H:%M:%S'):
if timestamp:
time_tuple = time.localtime(timestamp) # 把时间戳转换成时间元祖
result = time.strftime(format, time_tuple) # 把时间元祖转换成格式化好的时间
return result
else:
return time.strptime(format)

# 把时间字符串转换成时间戳
def str_to_timestamp(str_time=None, format='%Y-%m-%d %H:%M:%S'):
if str_time:
time_tuple = time.strptime(str_time, format) # 把格式化好的时间转换成元祖
result = time.mktime(time_tuple) # 把时间元祖转换成时间戳
return int(result)
return int(time.time())

posted on 2019-05-21 20:47  dongxl  阅读(381)  评论(0编辑  收藏  举报

导航