logging日志模块 , 序列化json pickle , 随机数random
创建日志模块:
手动
# import logging # logging.basicConfig( # level=logging.INFO, # # level= # format='%(asctime)s-%(name)s-[%(lineno)d]-%(message)s', # filename='test.log', # filemode='a+', # ) # logging.debug('我是风儿') # logging.info('你是沙') # logging.warning('缠缠绵绵到我家') # logging.error('疯疯狂狂又一宿') # logging.critical('我起不来床,你下不了地')
自动
获取日志>定义一个模板>生成文件屏幕流>把模板给流>将两个流加入日志 # import logging # logger=logging.getLogger('开发日志') #获取一个日志 # # formatter=logging.Formatter('%(asctime)s-%(name)s-[%(lineno)d]-%(message)s') 定义一个模板 # # ch=logging.StreamHandler() 生成一个屏幕流 # # fh=logging.FileHandler('tt.log','a',encoding='utf-8') 生成一个文件流 # ch.setFormatter(formatter) 把定义的模板绑定给咱们创建存储日志的流 # fh.setFormatter(formatter) # # logger.addHandler(fh)将文件流加入日志 # # logger.addHandler(ch) # logger.debug('你好啊') # logger.info('你好啊') # logger.warning('你好啊') # logger.error('你好啊') # logger.critical('你好啊'
序列化:将数据结构转化成字符串
dump,dumps 将对像变成字符存在文件中
load,loads 将文件中的字符串变成原对象
json:
dic={'1':'3','7':9} f=open('a1','w',enconding='utf-8') json.dump(dic,f) 把字典变字符写进文件 f=open('a1','r',enconding='utf-8') print(josn.load(f)) 把文件以字典读出
dic={'name':'meet','age'=18} s=json.dumps(dic) print(json.loads) 不用写入文件,直接转化
pickle:
import pickle dic={1:'2',3:'4'} f=open('a1','wb') pickle.dump(dic,f) 把字典变字节写入文件 f=open('a1','rb') print(pickle.load(f)) 把字节变字典输出
import pickle dic={'1':2,'3':4} s=pickle.dumps(dic) 字典变字节 print(pickle.loads(s)) 字节变字典
random
print(random.random()) 0-1之间的小数
print(random.uniform(1,5)) 1-5之间的小数
print(random.randint(1,36)) 随机整数
print(random.randint(1,5,2) 随机奇数
lst=[1,2,3,4,27,37] print(random.choice(lst)) 列表随机拿一个 print(random.sample(lst,2)) 列表随机拿两个
lst=[3,7,4,9] print(random.shuffle(lst)) 列表打乱