zoukankan      html  css  js  c++  java
  • ConfigParser读取记事本、notepad++修改后的配置文件会出现:ConfigParser.MissingSectionHeaderError

    使用ConfigParser来读取配置文件,经常会发现经过记事本、notepad++修改后的配置文件读取时出现下面的问题: 

    ConfigParser.MissingSectionHeaderError: File contains no section headers.
    file: ../conf/mal_crawler_allcids.conf, line: 1
    'xefxbbxbf[basic_config] '


    调试程序后发现文件头部被追加了信息:xefxbbxbf,然后ConfigParser解析出错 
    google了下xefxbbxbf,原因:在window下面用记事本、notepad等编辑文件的时候,如果保存为UNICODE或UTF-8,分别会在文件的开头加上两个字节“xFFxFE”和三个字节“xEFxBBxBF”。 即:BOM


    解决方法:配置文件使用前,去掉这些BOM字节

    def remove_BOM(config_path):
      content = open(config_path).read()
      content = re.sub(r"xfexff","", content)
      content = re.sub(r"xffxfe","", content)
      content = re.sub(r"xefxbbxbf","", content)
      open(config_path, 'w').write(content)

  • 相关阅读:
    告别08
    WinForm程序如何将子窗体嵌入到父窗体的Panel里
    几种排序算法
    接口的特征
    什么是重写
    C#异常处理
    什么是重载
    结构和类的区别
    Javascript的函数
    在ASP.NET中防止注入攻击
  • 原文地址:https://www.cnblogs.com/DjangoBlog/p/3585945.html
Copyright © 2011-2022 走看看