6-json、redis、hashlib
★os模块
os.system(command) #获取不到命令的执行结果
os.popen(command).read()#可以获取到命令执行结果
★sys
sys.argv 它是一个list,是用来获取你执行python文件的时候它的参数的
第一个元素的当前你运行的这个python文件的,文件名
★json
f = open('wjx.jmy','w',encoding='utf-8')
# res = json.dumps(names,ensure_ascii=False) #把字典转成json串
# names_json='{"assfdf": 223, "age": 36, "sdfsdf1": 23232323, "name": "王俊熹", "sdfsdf": 23232323}'
# names = json.loads(names_json)
# print(type(names))
# print(names)
# print(type(res))
# f.write(res)
res= open('wjx.json',encoding='utf-8')
name_dic = json.load(res) #传一个文件对象,自动转成字典,他会自己读文件,不用咱们再读一次
# print(type(name_dic))
# print(name_dic)
# fw=open('zdd.json','w',encoding='utf-8')
# json.dump(names,fw,ensure_ascii=False,indent=10)#写文件里面的时候,几个缩进
#dump
#dumps
#load
#loads
★time模块
时间表示方式有2种:
1、时间戳
def transfer(timestamp,format='%Y-%m-%d %H:%M:%S'):
import time
'''
把时间戳转成格式化输出的字符串
'''
time_tuple = time.gmtime(timestamp)#先把时间戳转成时间元组
res = time.strftime(format, time_tuple) #格式化时间
return res
def transfer2(time_str,format='%Y%m%d%H%M%S'):
import time
'''
把格式化好的时间字符串转成时间戳
'''
time_tuple = time.strptime(time_str, format)
res = time.mktime(time_tuple)
print(res)
return int(res)
def get_other_time(day,format='%Y%m%d%H%M%S'):
#这个函数是用来获取N天前的时间,或者N天后的时间
#day如果传入负数,那么就是几天前的。传入正数,就是几天后的
import datetime
res = datetime.datetime.now()+datetime.timedelta(day)#取几天后的
res_time = res.strftime(format)#格式化时间
print(res_time)
return res_time
time.strftime('%Y%m%d')#取当前时间
time.time()#取时间戳
time.sleep(10)
import datetime
now = datetime.datetime.now() # 当然时间格式化输出
# print(str(now))
print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间
print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间
★hashlib模块
import hashlib
md = hashlib.md5()#构造一个md5
md.update('jmy_123_AS*232'.encode())
# print(md.hexdigest())#加密后的字符串
#加密库
# 撞库
# 加盐
def md5_passwd(str,salt='123456'):
#satl是盐值,默认是123456
str=str+salt
import hashlib
md = hashlib.md5() # 构造一个md5对象
md.update(str.encode())
res = md.hexdigest()
return res
★redis模块
读1m的数据从磁盘和从内存上读,相差100w倍
从内存里面读数据
redis是一个数据库,他的数据全都是存放在内存里面的。
redis每秒能支持30w次的读写。