1.异常处理html
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模块app
做用:作时间格式和级别控制
注意: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')
返回系列ide