haslib模块,日志处理模块,自定义异常
1.haslib模块
SALT = b'skalsldl' #表示字节 def md5(pwd): #实例化对象 obj = hashlib.md5(SALT) #写入要加密的字节 obj.update(pwd.encode('utf-8')) return obj.hexdigest() name = input('请输入用户名:') pwd = input('输入密码:') val = md5(pwd) if name == 'hahah' and md5(pwd) == val: print('登录成功') else: print('登录失败')
2.日志处理
1.在python内部配置日志
import logging #进行日志配置, filename:文件名,asctime:结构化时间,name:用户名,levelname:等级名称, #module:模块名 message:日志信息,level:日志等级 logger = logging.basicConfig(filename='1.log', format='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=15) #等级>=15 的才会写入日志 logging.debug('10')#默认等级10 logging.info('20')#默认等级20 logging.warning('30')#默认等级30 logging.error('40')#默认等级40 ,必须及时处理 logging.critical('50')#默认等级50,必须马上处理 logging.log(15,'随意')#自定义等级
1.log中日志记录如下:
2021-01-28 17:42:25 PM - root - INFO - 日志处理: 20
2021-01-28 17:42:25 PM - root - WARNING - 日志处理: 30
2021-01-28 17:42:25 PM - root - ERROR - 日志处理: 40
2021-01-28 17:42:25 PM - root - CRITICAL - 日志处理: 50
2021-01-28 17:42:25 PM - root - Level 15 - 日志处理: 随意
2.日志记录程序错误堆栈,首先还是要配置日志文件的
import traceback def func(): try: a = a+1 except Exception as e: msg = traceback.format_exc() logging.error(msg) func()
3.自定义日志:
import logging #定义一个FileHandle file_handler = logging.FileHandler('2.log','a',encoding='utf-8') file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s-%(module)s: %(message)s')) #创建一个操作日志的对象logger(依赖FileHandler) logger1 = logging.Logger('S1',level=logging.ERROR) logger1.addHandler(file_handler) logger1.error('123123123')
4.自定义异常处理
import logging logger1 = logging.basicConfig(filename='5.log', format='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s', datefmt='%Y-%m-%d %H-%M-%S %p', level=30 ) import os import traceback class ExistsError(Exception): ''' 自定义异常类,必须继承Exception ''' pass def func(path,str_input): try: if not os.path.exists(path): raise ExistsError() except ExistsError as e: msg = traceback.format_exc() logging.error(msg) except KeyError as e: msg = traceback.format_exc() logging.error(msg) except Exception as e: print(e) func('d','')
2021-01-28 18-29-01 PM - root - ERROR - 异常1: Traceback (most recent call last):
File "D:/workspace/com/baizhi/practice/day26/异常1.py", line 67, in func
raise ExistsError()
ExistsError

浙公网安备 33010602011771号