日志,序列反序列和正则表达式

1 logging模块

  logging模块有两个处理方式, 一个是直接使用logging处理, 另一个是生成一个对象,  用对象来处理

1.1 处理方法一

  导入logging模块

  使用logging.basicConfig来设置配置信息

    参数level设置日志级别

    参数format可以设置一条日志信息的打印格式

    参数datefmt可以设置时间的显示格式

    参数filename可以设置将日志输出成文件的文件名字, 该文件指定之后控制台就不显示了

    参数filemode可以设置写入文件的写入模式

  写入日志信息的可以使用

    logging.日志级别(日志信息)

  其中日志界别的顺序是: debug < info < warning < error < critical

  使用代码如下

import logging
myFormat = '[ %(levelname)s : %(asctime)s ] %(pathname)s[ %(lineno)d ]  == > %(message)s'
myDateFormat = '%Y-%m-%d %X'

logging.basicConfig(level=logging.INFO, format=myFormat, datefmt=myDateFormat, filename='log', filemode='a')

logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

1.2 处理方法二

  获取logging对象

    logging.getLogger()

    可以指定名字, 默认为root

  设置文件或者屏幕输出对象

    logging.FileHandler(文件名字, mode=读写模式, encoding=编码, delay=布尔值)

    logging.StreamHandler()

  设置日志等级

    logging对象.setLevel(等级)

  设置打印格式

    FileHandler对象.setFormatter(格式)

    StreamHandler对象.setFormatter(格式)

  绑定Handler对象给logging对象

    logging对象.addHandler( 文件或者流Handler对象 )

  具体使用方法

import logging

log = logging.getLogger()

fh = logging.FileHandler('log2')
sh = logging.StreamHandler()

log.setLevel(logging.DEBUG)

myFormat = '[ %(levelname)s : %(asctime)s ] %(pathname)s[ %(lineno)d ]  == > %(message)s'
formatter = logging.Formatter(myFormat)
fh.setFormatter(formatter)
sh.setFormatter(formatter)

log.addHandler(fh)
log.addHandler(sh)

logging.debug('debug message')

2 json模块

  可以通过json模块来讲数据转化为json格式数据, 并且存储

  还可以直接读取文件并将高json内容转化为对应的python格式数据

  将数据转为json字符串

    json.dumps(需要转的数据)

  将json数据转化为对象的Python数据

    json.loads( json字符串 )

  其中对应的有dunp()和load()方法, 这俩有两参数, 用于直接打开文件句柄来读或者写

  具体是用实例如下

import json

dic={'name':'whc','age':23,'sex':'male'}

data=json.dumps(dic)
# '{"name": "whc", "age": 23, "sex": "male"}'

f=open('json','w')
f.write(data)
f.close()

f=open('json')
new_data=json.loads(f.read())
# {'name': 'whc', 'age': 23, 'sex': 'male'}

  使用dunp或者load方法的处理如下

import json

dic={'name':'whc','age':23,'sex':'male'}

json.dump(dic, open('json',"w"))
newData = json.load(open('json'))
# {'name': 'whc', 'age': 23, 'sex': 'male'}

3 正则表达式

  正则表达式参见全面的解析    

  我的总结

 

人若有恒 无所不成
原文地址:https://www.cnblogs.com/weihuchao/p/6773197.html