使用ConfigParser来读取系统配置文件,当把py2exe打包后的代码发布到生产库时,
需要修改配置文件中的数据库连接等相关信息,修改后执行程序,报如下错误:
ConfigParser.MissingSectionHeaderError: File contains no section headers.
file: BaseConfig.cfg, line: 1
'\xef\xbb\xbf#\xe5\x9f\xba\xe6\x9c\xac\xe9\x85\x8d\xe7\xbd\xae\xe4\xbf\xa1\xe6\x81\xaf\n'
调试程序后发现文件头部被追加了信息:\xef\xbb\xbf,然后ConfigParser解析出错
google了下\xef\xbb\xbf,原因:在window下面用记事本编辑文件的时候,如果保存为UNICODE或UTF-8,分别会在文件的开头加上两个字节“\xFF\xFE”和三个字节“\xEF\xBB\xBF”。
参考:
BOM--字节序标记
解决方法:配置文件使用前,做全局替换
content = open('BaseConfig.cfg').read()
#Window下用记事本打开配置文件并修改保存后,编码为UNICODE或UTF-8的文件的文件头
#会被相应的加上\xff\xfe(\xff\xfe)或\xef\xbb\xbf,然后再传递给ConfigParser解析的时候会出错
#,因此解析之前,先替换掉
content = re.sub(r"\xfe\xff","", content)
content = re.sub(r"\xff\xfe","", content)
content = re.sub(r"\xef\xbb\xbf","", content)
open('BaseConfig.cfg', 'w').write(content)
分享到:
相关推荐
主要介绍了Python使用configparser读取ini配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在项目过程中,需要设置各种IP和端口号信息等,如果每次都在源程序中更改会很麻烦(因为每次都要重启项目重新加载配置信息),因此将需要修改的参数写在配置文件(或者数据库)中,每次只需修改配置文件,就可以实现同样...
主要介绍了Python使用configparser库读取配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
configParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项 2.看一下configparser生成的配置文件的格式 ini配置文件格式如下: 这里是注释 [log] log_...
主要介绍了Python3中configparser模块读写ini文件并解析配置的用法详解,需要的朋友可以参考下
通常我们的做法是用配置文件来解决。 各种语言都有自己所支持的配置文件类型。比如Python ,他支持.ini 文件。因为他内部有一个ConfigParser 类来支持.ini 文件的读写,根据该类提供的方法程序员可以自由的来操作....
python configparser类获取.ini文件配置内容
go-configparser需要以下格式的配置文件: [section heading] option1 = value1 option2 = value2 所有其他行都将被忽略 - 部分中未找到的任何选项也将被忽略。 参见示例/basic.cfg。 插值 可以使用以下格式...
本篇文章主要介绍了详解Python读取配置文件模块ConfigParser,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。 复制代码 代码如下: [db] db_host = 127.0.0.1 db_port = 22 db_...
Python自带有读取配置文件的模块ConfigParser,使用起来非常方便。 ini文件 ini配置文件格式: 读取配置文件: import ConfigParser conf = ConfigParser.ConfigParser() conf.read('dbconf.ini') # 文件路径 ...
python3.6,对其配置文件的读写进行了修改,目的是在设置值(会导致写文件)时,对原始文件中的注释进行保留。由于是对原工具中代码的修改,所以建议在使用此文件进行覆盖之前,先对原文件进行备份,防止在一些极端...
本文主要介绍Python自动化测试,这里详细说明了ConfigParser模块读写配置文件,有兴趣的小伙伴可以参考下
主要介绍了Python使用ConfigParser模块操作配置文件的方法,结合实例形式分析了Python基于ConfigParser模块针对配置文件的创建、读取、写入、判断等相关操作技巧,需要的朋友可以参考下
python3的HTMLTestRunner文件python3的HTMLTestRunner文件
修改某个配置项的值比如要修改一下数据库的密码,可以这样修改:修改完了要写入才能生效添加一个section同样的,要写入才能生效执行上面代码后,sys.conf文
ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使...