python 读写配置文件ConfigParser模块是python自带的读取配置文件的模块,通过他可以方便的读取配置文件。注意,在python3中ConfigParser模块被改名为configparser了。
写个项目,用到数据库,多个地方使用,不能硬编码。很类似java的properties文件。
可读取的数据类型
Configuration file parser.
A setup file consists of sections, lead by a "[section]" header, and followed by "name: value" entries, with continuations and such in the style of RFC 822.
该模块支持读取类似如上格式的配置文件,如 windows 下的 .conf 及 .ini 文件等。
读取配置文件
-read(filename) 直接读取文件内容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到该section的所有option
-items(section) 得到该section的所有键值对
-get(section,option) 得到section中option的值,返回为string类型
-getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
写入配置文件
-write(fp) 将config对象写入至某个 .init 格式的文件 Write an .ini-format representation of the configuration state.
-add_section(section) 添加一个新的section
-set( section, option, value 对section中的option进行设置,需要调用write将内容写入配置文件 ConfigParser2
-remove_section(section) 删除某个 section
-remove_option(section, option) 删除某个 section 下的 option
要注意的问题
参数名称的大写全部会转换为小写。
参数名称不能含有[,]
如果含有多个名字相同的section时,会以最后一个section为准。
import模块
try:# python3importconfigparser
except:# python2importConfigParser asconfigparser
configparser模块的使用
配置文件的格式
[]包含的叫section, section 下有option=value这样的键值
示例
配置文件 test.conf
[section1]
name = tank
age = 28
[section2]
ip = 192.168.1.1
port = 8080
Python代码
# -* - coding: UTF-8 -* -
import ConfigParser
conf = ConfigParser.ConfigParser()
#读取配置文件
conf.read("c:\\test.conf") #也可以从命令行中输入配置文件名:config.readfp(open(raw_input("input file name:"), "rb"))
# 获取指定的section, 指定的option的值
name = conf.get("section1", "name")
print(name)
cfg.getboolean('sogou', 'jiebaCutAll')
#获取所有的section
sections = conf.sections()
print sections
#写配置文件
# 更新指定section, option的值
conf.set("section2", "port", "8081")
# 写入指定section, 增加新option的值
conf.set("section2", "IEPort", "80")
# 添加新的 section
conf.add_section("new_section")
conf.set("new_section", "new_option", "http://www.cnblogs.com/tankxiao")
conf.write(open("c:\\test.conf","w"))
ref: [configparser — Configuration file parser]