【转载】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
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-12-09 12:12  兵心  阅读(1213)  评论(0编辑  收藏  举报