您的位置:首页 > 其它

使用loggin和ConfigParser配置文件中遇到的问题

2018-03-14 12:35 337 查看
问题一: 加载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'  才可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐