码迷,mamicode.com
首页 > 其他好文 > 详细

面向对像(8day)

时间:2017-09-30 09:59:47      阅读:200      评论:0      收藏:0      [点我收藏+]

标签: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)

 

面向对像(8day)

标签:art   now()   erro   ogg   log   格式   critical   管理   str   

原文地址:http://www.cnblogs.com/wanchenxi/p/7613393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!