【转载】python使用loggin和ConfigParser配置文件中遇到的问题
原文链接:https://blog.csdn.net/weixin_39918285/article/details/79551104
问题一: 加载loggin配置文件时出错 UnicodeDecodeError
一开始logger.conf配置文件的存档格式为unicode,该文件中有中文字符。
logging.config.fileConfig("logger.conf")
所以下面语句加载时,出现如下错误:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
将文件存档为 ANSI 模式后,问题解决。相关的文字编解码问题,可以参考:
【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法
问题二:loggin文件解析过程中出错: log.addHandler(handlers[hand]) KeyError: 'fileHandler #将root logger的日志
在配置文件中,handlers后面又备注信息。
[logger_root] #root logger
level=DEBUG
handlers=consoleHandler,fileHandler #将root logger的日志信息输出到文件和控制台,这个不能放在下
将其修改如下后,问题解决。
[logger_root] #root logger
level=DEBUG
#将root logger的日志信息输出到文件和控制台,这个不能放在下
handlers=consoleHandler,fileHandler
问题三:用ConfigParser加载cfg.ini解析错误,
File "D:\ProgramData\Anaconda3\lib\configparser.py", line 1080, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: 'cfg.ini', line: 1
'\ufeff[filecfg]\n'
问题原因为cfg.ini在windows平台上存的文件编码格式为utf-8。用
cf.read('cfg.ini',encoding='utf-8')
是不行的,必须使用 encoding='utf-8-sig' 才可以
---------------------
作者:weixin_39918285
来源:CSDN
原文:https://blog.csdn.net/weixin_39918285/article/details/79551104
版权声明:本文为博主原创文章,转载请附上博文链接!