python - 将字符串从配置文件转换为导入路径
问题描述
我这里有一个配置文件:
log:
filename: 'log'
format: '%(levelname)s:%(message)s'
level: 'logging.INFO'
我在这里尝试在我的日志配置中使用它:
logging.basicConfig(
filename=str(config['log']['filename']),
format=str(config['log']['format']),
level=str(config['log']['level'])
)
但是,我收到此错误可能是因为我传入了一个字符串,但日志记录级别需要日志记录模块中的路径。
ValueError: Unknown level: 'logging.INFO'
如何将其转换为模块路径,或者我应该使用不同的方法?
解决方案
您可以使用logging.getLevelName('INFO')
从字符串转换为日志级别(这是一个整数代码)。因此,只要您可以将配置文件更改为:
log:
filename: 'log'
format: '%(levelname)s:%(message)s'
level: 'INFO'
这应该工作
logging.basicConfig(
filename=str(config['log']['filename']),
format=str(config['log']['format']),
level=logging.getLevelName(config['log']['level'])
)
PS 你需要 str() 演员表吗?
推荐阅读
- python-3.x - python3.6中的re.findall组工作机制
- javascript - 无法读取未定义的属性“类别” - 尝试使用来自状态的数据时出错
- html - 如何在bootstrap和angularjs中进行选择下拉多项选择?
- wordpress - 在特定页面上隐藏自定义菜单背景图像
- c# - 空间锚点的精度问题
- colors - 我尝试为“未读”通知计数添加 CSS 类(颜色)
- python - 在 Python 中将嵌套列表放入数据框中
- c++ - 如何从 map 中获取值并在 C++ 的 switch 语句中使用它?
- javascript - 如何通过将每个值作为单独的字符串返回来连接值数组?
- android - 显示用于选择图像或通过 webview 从相机中选择的选项