• day19——包、logging日志


    day19

    文件夹下具有______init______.py文件就是一个包

    方法
    • import 包.包.包

    • from 包.包.包 import 模块

      需要在______init______.py做操作

    路径
    • 绝对路径导入:从最外层的包开始导入
    from ss.bake.api.policy import func
    func()
    
    • 相对路径导入:从当前(.)开始导入或者父集(..)导入
    from ..api.www import ww
    ww()
    

    注意点:

    • 使用相对路径必须在最外层包的同级进行导入
    • python2中import包,如果包没有______init______.py就报错
    • python3中import包,包里没有______init______.py不报错

    logging

    logging——日志

    # import logging
    # logging.debug('我是调试')
    # logging.info('我是信息')
    # logging.warning('我是警告')
    # logging.error('我是错误')
    # logging.critical('我是危险')
    
    # 默认是从warning开始记录
    
    # import logging
    # logging.basicConfig(level=logging.DEBUG,
    #                     format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s',
    #                     datefmt='%Y-%m-%d %H:%M:%S',
    #                     filename='test.log',
    #                     filemode='w')
    
    # dic = {"key":123}
    # logging.debug(dic)
    
    # num = 100
    # logging.info(f"用户当前余额:{num - 50}")
    
    # try:
    #     num = int(input("请输入数字:"))
    # except Exception as e:
    #     logging.warning("int将字符串转换报错了")
    # print("12334")
    
    # logging.error('我是错误')
    # logging.critical('我是危险')
    
    标准格式
    import logging
    logger = logging.getLogger()
    # 创建一个logger
    fh = logging.FileHandler('test.log',mode="a",encoding='utf-8')   # 文件
    ch = logging.StreamHandler()   # 屏幕
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(filename)s - [line:%(lineno)d] -  %(levelname)s - %(message)s')
    # 将屏幕和文件都是用以上格式
    logger.setLevel(logging.DEBUG)
    # 设置记录级别
    fh.setFormatter(formatter)
    # 使用自定义的格式化内容
    ch.setFormatter(formatter)
    logger.addHandler(fh) #logger对象可以添加多个fh和ch对象
    logger.addHandler(ch)
    
    
    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')
    
  • 相关阅读:
    C# NameValueCollection
    visual studio使用技巧创建自己代码片段
    C#在DataTable中使用LINQ
    [转]C# 中的.pdb/ .vshost.exe/ .vshost.exe.manifest文件讨论
    C#自定义控件在添加引用后不显示在工具箱的解决方法
    Java 工程师
    redis-CRC16
    sql server-当天日期减去一天 应该如何写
    清除访问Windows共享时缓存的凭据
    cmd下查看当前登陆用户
  • 原文地址:https://www.cnblogs.com/NiceSnake/p/11284932.html
Copyright © 2020-2023  润新知