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())

转载于:https://www.cnblogs.com/skyxiuli/p/10902263.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值