configparser 模块

此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser。

来看一个好多软件的常见配置文件格式如下

[DEFAULT]
ServerAliveInterval = 45   
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = hg

[topsecret.server.com]
Port = 50022
ForwardX11 = no

解析配置文件

In [1]: import configparser

In [2]: conf = configparser.ConfigParser()

In [3]: conf.read("conf.ini")
Out[3]: ['conf.ini']

In [4]: conf.sections()    # 调用sections方法(默认不会读取default)
Out[4]: ['bitbucket.org', 'topsecret.server.com']

In [5]: "bitbucket.org" in conf    # 判断元素是否在sections列表内
Out[5]: True

In [6]: conf["bitbucket.org"]["User"]    # 通过字典的形式取值
Out[6]: 'hg'

In [7]: conf["topsecret.server.com"]["Port"]
Out[7]: '50022'

In [8]: conf["DEFAULT"]["Compression"]
Out[8]: 'yes'

In [9]: topsecret = conf["topsecret.server.com"]
   ...:

In [10]: topsecret["Port"]
Out[10]: '50022'

In [11]: for key in conf["bitbucket.org"]:    # 各个模块也能调用默认值
    ...:     print(key)
    ...:
user
serveraliveinterval
compression
compressionlevel
forwardx11

In [12]: conf["bitbucket.org"]["ForwardX11"]
Out[12]: 'yes'

 

其它增删改查语法

配置文件conf.ini

[group1]
k1 = v1
k2 = v2

[group2]
k1 = v1
import configparser
conf = configparser.ConfigParser()

conf.read("conf.ini")

#
# secs = conf.sections()
# print(secs)
# options = conf.options("group2")  # 获取key
# print(options)
#
# item_list = conf.items("group2")
# print(item_list)
#
# val = conf.get("group1", "k1")
# print(val)

#
# conf.add_section("group3")
# conf["group3"]["name"] = "houxingbin"
# conf["group3"]["age"] = "22"
# conf.write(open("conf.ini", "w"))

#
# conf.remove_option("group3", "name")  # 删除section内的option
# conf.remove_section("group3")  # 删除section
# conf.write(open("conf.ini", "w"))

#
# conf.set("group1", "k1", "11111")
# conf.write(open("conf.ini", "w"))
posted @ 2018-07-12 20:22  以后、  阅读(105)  评论(0)    收藏  举报