【问题标题】:List of logging levels compatibility between Python 2 and Python 3Python 2 和 Python 3 之间的日志记录级别兼容性列表
【发布时间】:2017-06-24 05:38:32
【问题描述】:

要获得 Python 2 中的日志记录级别列表,我必须调用它:

logging._levelNames.keys()

虽然 Python 3 日志记录模块有这个:

list(logging._nameToLevel)

我只是将six 添加到我的项目中,以提供 Python 2 和 Python 3 之间的兼容性。找出这个兼容性问题的最简洁的方法是什么?

【问题讨论】:

    标签: python python-3.x logging python-2.x six


    【解决方案1】:

    你不应该故意访问attribute that starts with a _,这通常意味着它是一个私有属性,不应该在其他地方使用。

    由于日志记录级别只是一个简短的列表,您可以直接复制粘贴并创建自己的列表:

    levels = ['CRITICAL', 'FATAL', 'ERROR', 'WARN', 'WARNING', 'INFO', 'DEBUG', 'NOTSET']
    

    顺便说一句,如果你注意到了,logging._levelNames.keys()list(logging._nameToLevel) 提供了不同的结果,前者还包含一些整数 [0, 10, 20, 30, 40, 50] 而后者没有。

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 2016-02-20
      • 1970-01-01
      • 2018-04-26
      • 2012-02-08
      • 2020-11-19
      相关资源
      最近更新 更多