模块
# modules
import time #时间戳转格式化时间 n = 1234567888 struct_t = time.localtime(n) str_t = time.strftime("%Y-%m-%d %H:%M:%S",struct_t) print(str_t) #用户输入时间 --> 数字 s = '2019-9-1 9:9:1' struct_t = time.strptime(s,"%Y-%m-%d %H:%M:%S") stamp_t = time.mktime(struct_t) print(stamp_t)
lst = [1,2,3,4,5] import random print(random.random()) # [0, 1) print(random.randrange(1,3)) # [start,end) print(random.randint(1,3)) # [start,end] 随机整数 随机摇彩票 print(random.shuffle(lst)) #没有返回值 None print(lst) print(random.choice(lst)) # 随机选一个 print(random.choices(lst,k=4)) #[5, 1, 5, 3] print(random.sample(lst,2)) # [2, 4] 选多个
import hashlib md5_obj = hashlib.md5(b'yan') #加盐 md5_obj.update('Sara'.encode('utf-8')) #bytes MD5不光是服务字符串的 s = md5_obj.hexdigest() print(s) print(len(s)) #32位长度
序列化 和 反序列化 # json 较为广泛的使用 import json json.dumps(obj) #序列化 ensure_ascii=False解决中文问题 json.loads(obj) #反序列化 json.dump(obj,f) #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件 json.load(f) #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
# json的格式化输出
import json data = {'username':['李华','二愣子'],'sex':'male','age':16} json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False) print(json_dic2)
# pickle 用于python特有的类型 和 python的数据类型间进行转换
pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load (不仅可以序列化字典,列表...可以把python中任意的数据类型序列化)
import pickle dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = pickle.dumps(dic) print(str_dic) #一串二进制内容 dic2 = pickle.loads(str_dic) print(dic2) #字典 import time struct_time = time.localtime(1000000000) print(struct_time) f = open('pickle_file','wb') pickle.dump(struct_time,f) f.close() f = open('pickle_file','rb') struct_time2 = pickle.load(f) print(struct_time2)
正则 RE import re re.findall(pattern, string,) #一次性全部取值 返回结果[] re.finditer() #返回迭代器 for循环item.group()取值 re.search() #全字符串搜索 特点:搜到了第一个结果直接返回 obj.group() re.match() #匹配 特点:从开头进行匹配 re.compile(re,re.S) #预加载正则 匹配的内容想要获取到 需要进行分组 (?p<name>正则) it.group('name')
import logging logging.critical() 系统级错误 50 logging.error() 错误信息 40 logging.warning() 警告 30 logging.info() 信息记录 20 logging.debug() 调试信息 10 logging.log(999)