python基础之 异常处理和logging模块

1.异常处理

l = ['apple','admin','kobe']
for id,item in enumerate(l,1):
    print(id,item)
try:
    choose_id = int(input('请输入序号:'))
    print(l[choose_id-1])
except (ValueError,IndexError):
    print('请输入正确有效的序号')

except Exception as e:
    print(e)
finally:
    print('当return遇到finally的时候,先执行finally,然后执行return')
    print('无论如何都执行finally')

raise ValueErrot 主动报异常

2.loggin模块

作用:做时间格式和级别控制
注意:logging模块不能自动生成日志
def func():
    logging.basicConfig(level=logging.ERROR)  #修改打印级别的语句,做到了级别控制
    #默认情况下不打印warning以下级别的信息
    logging.debug('123')
    logging.info('456')
    logging.warning('789')
    logging.error('1qaz')
    logging.critical('23esf3')
func()


logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%a, %d %b %Y %H:%M:%S')#修改打印级别的语句,做到了级别控制,默认情况下不打印warning以下级别的信息
logging.debug('debug message')      # 调试
logging.info('info message')        # 普通信息
logging.warning('warning message')  # 警告
logging.error('error message')      # 错误信息
logging.critical('critical message')# 严重错误
简单配置法
import logging
# 用logger
# 首先 先创建logger对象
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 第二 创建一个文件操作符
fh = logging.FileHandler('log',encoding='utf-8')

# 第三 创建一个屏幕操作符
sh = logging.StreamHandler()

# 第四 创建一个格式
fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# logger 绑定 文件操作符
logger.addHandler(fh)
# logger 绑定 屏幕操作符
logger.addHandler(sh)
# 文件操作符 绑定格式
fh.setFormatter(fmt)
# 屏幕操作符 绑定格式
sh.setFormatter(fmt)

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')
logging对象法

 

 

 

 

 

返回系列

posted @ 2019-04-08 18:50  thep0st  阅读(334)  评论(0)    收藏  举报