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

ConfigParser.MissingSectionHeaderError: File contains no section headers.
file: ../conf/mal_crawler_allcids.conf, line: 1
'\xef\xbb\xbf[basic_config]\r\n'

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

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

def remove_BOM(config_path):
  content = open(config_path).read()
  content = re.sub(r"\xfe\xff","", content)
  content = re.sub(r"\xff\xfe","", content)
  content = re.sub(r"\xef\xbb\xbf","", content)
  open(config_path, 'w').write(content)

是不是这个问题,请拿走不谢。

ConfigParser读取配置文件时报错:ConfigParser.MissingSectionHeaderError的更多相关文章

  1. python ConfigParser读取配置文件,及解决报错(去掉BOM)ConfigParser.MissingSectionHeaderError: File contains no section headers的方法

    先说一下在读取配置文件时报错的问题--ConfigParser.MissingSectionHeaderError: File contains no section headers 问题描述: 在练 ...

  2. 记一次用python 的ConfigParser读取配置文件编码报错

    记一次用python 的ConfigParser读取配置文件编码报错 ...... raise MissingSectionHeaderError(fpname, lineno, line)Confi ...

  3. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  4. Java使用dom4j读取xml时报错:org.dom4j.DocumentException: Error on line 2 of document : Invalid byte 2 of 2-byte UTF-8 sequence. Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence

    1.Java使用dom4j读取xml时报错: org.dom4j.DocumentException: Error on line 2 of document  : Invalid byte 2 of ...

  5. python 读取文件时报错UnicodeDecodeError

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  6. configparser读取配置文件时的相对路径问题

    学习接口测试时,当我把配置文件xx.config和读取配置文件的模块read_config.py放在项目下的同一个包config里时,只需传入文件名xx.config即可实现对配置文件的读取. 但是当 ...

  7. python3使用configparser读取配置文件

    python2中的ConfigParser在python3中改成了configparser 1.配置文件格式是 [域名] k=v 2.代码示例:需要生成conf.ini配置文件如下:[config]v ...

  8. Python利用ConfigParser读取配置文件

    http://www.2cto.com/kf/201108/100384.html #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigPars ...

  9. 网络原因导致的 spring cloud config 读取git上的配置文件时报错:Cannot clone or checkout repository

    今天在公司使用spring cloud config搭建配置中心的时候,出现了读取不到git库的问题:Cannot clone or checkout repository.在网上百度,前面几个答案都 ...

随机推荐

  1. mac安装 bcolz出现错误

    使用的是命令pip install bcolz c-blosc//snappy-stubs-:: fatal error: 'algorithm' file not found #include &l ...

  2. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_01-用户认证-用户认证流程分析

    1 用户认证 1.1 用户认证流程分析 用户认证流程如下: 访问下面的资源需要携带身份令牌和jwt令牌,客户端可以通过身份认证的令牌从服务端拿到长令牌, 一会要实现认证服务请求用户中心从数据库内来查询 ...

  3. 爆库记录(X-Forwarded-For注入漏洞实战 记录)

    环境位置: https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe 参考: http://www.fr ...

  4. 123456---com.twoapp.huanYingMotro--- 幻影摩托

    123456---com.twoapp.huanYingMotro--- 幻影摩托

  5. using 关键字有两个主要用途

    转自:https://www.jianshu.com/p/5357dc4efcf8 using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型. (二) ...

  6. python调用shell命令

    1.subprocess介绍 官方推荐 subprocess模块,os.system(command) 这个废弃了 亲测 os.system 使用sed需要进行字符转义,非常麻烦 python3 su ...

  7. 最新 三六零java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.三六零等10家互联网公司的校招Offer,因为某些自身原因最终选择了三六零.6.7月主要是做系统复习.项目复盘.LeetCo ...

  8. Mstering QT5 chapter1

    涉及到c++ 14新特性: lambda,autovariables. A basic .pro file generally contains: 1) Qt modules used (core, ...

  9. 如何使用U盘给电脑安装CentOS系统

    准备工具:1.8G左右U盘;2.最新版UltraISO;3.CentOS ISO镜像; 上面的步骤做好之后就是将镜像刻录到U盘中,这里跟Windows系统刻录U盘的步骤是一样的,就不再多赘述了. 假如 ...

  10. 分布式架构下,session共享有什么方案么?

    分布式架构下,session共享有什么方案么? 会点代码的大叔 科技领域创作者 分布式架构下的session共享,也可以称作分布式session一致性:关于这个问题,和大家说一说解决方案(如果有其他的 ...