标签:art now() erro ogg log 格式 critical 管理 str
logging模块
import logging
import logging
# debug info warning(默认) error critical
#1 congfig函数
# logging.basicConfig(level=logging.DEBUG,
# format="%(asctime)s [%(lineno)s] %(message)s",
# datefmt="%Y-%m-%d %H:%M:%S",
# filename="logger",
# filemode="a"
# )
# logging.debug(‘debug message‘)
# num=1000
# logging.info(‘cost %s‘%num)
# logging.warning(‘warning messagegfdsgsdfg‘) #
#
# logging.error(‘error message‘)
#
# logging.critical(‘critical message‘)
#配置两种方式: 1 congfig 2 logger
# 2 logger对象
设置日志的固定格式,比较常用的就是用这个logger对像方式,而且,
固定的设置成一个函数,到使用的地方就可以调用
fh,sh是输出对像;fm为输出格式的对像,我想让输出按fm的格式来输出,就是吃的过程,用fh.setFormatter方法,让输出有格式的对像
而让logger有fh,sh的属性就是用logger.addHandler方法来吃
使用logger对像来管理日志,先创建logger对像,而fh,sh是logging的两个对像,分别输出到文件
和屏幕的属性,而logger想要拿到这个属性就调用了logger.addHandler吸这个动作,把别人的属性变成自己的
然后logger就有了这个属性
fm-->fh,sh--->logger,fm对像被fh,sh对像拿到,然后,fh,sh对像又被logger对像拿到使用,非常的死,以后就用函数来固定使用
大鱼吃小鱼的过程
def get_logger():
logger=logging.getLogger()
fh=logging.FileHandler("logger2")
sh=logging.StreamHandler()
logger.setLevel(logging.DEBUG) #设定日志输出等级
fm=logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logger.addHandler(fh)
logger.addHandler(sh)
fh.setFormatter(fm)
sh.setFormatter(fm)
return logger
Logger=get_logger()
Logger.debug(‘logger debug message‘)
Logger.info(‘logger info message‘)
Logger.warning(‘logger warning message‘)
Logger.error(‘logger error message‘)
Logger.critical(‘logger critical message‘)
json模块,非常重要
参考:http://www.cnblogs.com/yuanchenqi/articles/6766020.html # d={"河北":["廊坊","保定"],"湖南":["长沙","韶山"]} # # s=str(d) # with open("data","w") as f: # f.write(s) # with open("data") as f2: # s2=f2.read() # d2=eval(s2) # # print(d2["河北"]) # ‘{"河北":["廊坊","保定"],"湖南":["长沙","韶山"]}‘ # print(eval("12+34*34")) import json json像个桥梁一样,你web,前后端来进行数据的交互都是通过json来做的,所以太重要了 json是一种数据格式 这嘛重要只有两种方法,序列化,和反序列化 import json # i=10 # s=‘hello‘ # t=(1,4,6) # l=[3,5,7] # d={‘name‘:"yuan"} # # json_str1=json.dumps(i) # json_str2=json.dumps(s) # json_str3=json.dumps(t) # json_str4=json.dumps(l) # json_str5=json.dumps(d) # # print(json_str1) #‘10‘ # print(json_str2) #‘"hello"‘ # print(json_str3) #‘[1, 4, 6]‘ # print(json_str4) #‘[3, 5, 7]‘ # print(json_str5) #‘{"name": "yuan"}‘ json只认识[]不认识()所以,所有的tupel,列表都转换成[],还有python对应的json字符串要加"", loads之前不一定要dumps只要符合json的数据类型格式的都行(都能反序列化),你写在文件中的字典类型的key一定要用""写,‘‘不认,还有字符,也要写"" 具体可以看博客的一张图,没有集合这种型式,json # # d={"河北":["廊坊","保定"],"湖南":["长沙","韶山"]} # # d={‘name‘:"egon"} # # # s=json.dumps(d) # 将字典d转为json字符串---序列化,而且name序列化成json值之后,你打印出来的name必是加""的,这是json数据强制的 # # # # print(type(s)) # # print(s) # # # # # # f=open("new",‘w‘) # # # # f.write(s) # # # # f.close() # # # -------------- dump方式 # # # f=open("new2",‘w‘) # # json.dump(d,f)#---------1 转成json字符串 2 将json字符串写入f里 # # # # f.close() # # # #-----------------反序列化 # # # f=open("new") # # # # data=f.read() # # # # data2=json.loads(data) # # # # print(data2["name"]) #------练习 # f=open("new3") # data=f.read() # # ret=json.loads(data) # # ret=[123] # print(type(ret[0])) #----------------------------------pickle-------------------- import pickle import datetime t=datetime.datetime.now() # d={"data":t} # json.dump(d,open("new4","w")) #d={"name":"alvin"} # s=pickle.dumps(d) # print(s) # print(type(s)) # # f=open(‘new5‘,"wb") # # f.write(s) # f.close() # f=open("new5","rb") # # data=pickle.loads(f.read()) # # print(data)
标签:art now() erro ogg log 格式 critical 管理 str
原文地址:http://www.cnblogs.com/wanchenxi/p/7613393.html