Python模块:配置文件解析器configparser

时间:2022-11-05 12:01:44

版权声明:本文为博主皮皮http://blog.csdn.net/pipisorry原创文章,未经博主同意不得转载。 https://blog.csdn.net/pipisorry/article/details/37104107

http://blog.csdn.net/pipisorry/article/details/37104107

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:  # python3
import configparser
except: # python2
import ConfigParser as configparser

皮皮blog

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"))

from: http://blog.csdn.net/pipisorry/article/details/37104107

ref: [configparser — Configuration file parser]

[Python 读取写入配置文件 —— ConfigParser]*

[Python读取改动ini配置文件[ConfigParser] ]