Python3 configparse模块(配置)

Python3 configparse模块(配置)

参考:https://www.cnblogs.com/bert227/p/9326313.html

         https://www.cnblogs.com/dion-90/p/7978081.html

python2: https://blog.csdn.net/zhouzhiwengang/article/details/72358433

官网地址:https://docs.python.org/3/library/configparser.html

 

 

 

ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 
注意:在python 3 中ConfigParser模块名已更名为configparser

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

config.read('example.ini',encoding="utf-8")

"""读取配置文件,python3可以不加encoding"""

options(section)

"""sections(): 得到所有的section,并以列表的形式返回"""

config.defaults()

"""defaults():返回一个包含实例范围默认值的词典"""

config.add_section(section)

"""添加一个新的section"""

config.has_section(section)

"""判断是否有section"""

print(config.options(section))

"""得到该section的所有option"""

has_option(section, option)

"""判断如果section和option都存在则返回True否则False"""

read_file(f, source=None)

"""读取配置文件内容,f必须是unicode"""

read_string(string, source=’’)

"""从字符串解析配置数据"""

read_dict(dictionary, source=’’)

"""从词典解析配置数据"""

get(section, option, *, raw=False, vars=None[, fallback])

"""得到section中option的值,返回为string类型"""

getint(section,option)

"""得到section中option的值,返回为int类型"""

getfloat(section,option)

"""得到section中option的值,返回为float类型"""

getboolean(section, option)

"""得到section中option的值,返回为boolean类型"""

items(raw=False, vars=None)

"""和items(section, raw=False, vars=None):列出选项的名称和值"""

set(section, option, value)

"""对section中的option进行设置"""

write(fileobject, space_around_delimiters=True)

"""将内容写入配置文件。"""

remove_option(section, option)

"""从指定section移除option"""

remove_section(section)

"""移除section"""

optionxform(option)

"""将输入文件中,或客户端代码传递的option名转化成内部结构使用的形式。默认实现返回option的小写形式;"""

readfp(fp, filename=None)

"""从文件fp中解析数据"""

生成configparser文件实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

import configparser  #配置文件

config = configparser.ConfigParser()

"""生成configparser配置文件 ,字典的形式"""

"""第一种写法"""

config["DEFAULT"] = {'ServerAliveInterval': '45',

                     'Compression': 'yes',

                     'CompressionLevel': '9'}

"""第二种写法"""

config['bitbucket.org'] = {}

config['bitbucket.org']['User'] = 'hg'

"""第三种写法"""

config['topsecret.server.com'] = {}

topsecret = config['topsecret.server.com']

topsecret['Host Port'] = '50022'  # mutates the parser

topsecret['ForwardX11'] = 'no'  # same here

 

config['DEFAULT']['ForwardX11'] = 'yes'

"""写入后缀为.ini的文件"""

with open('example.ini', 'w') as configfile:

    config.write(configfile)

运行结果:

1

2

3

4

5

6

7

8

9

10

11

12

[DEFAULT]

serveraliveinterval = 45

compression = yes

compressionlevel = 9

forwardx11 = yes

 

[bitbucket.org]

user = hg

 

[topsecret.server.com]

host port = 50022

forwardx11 = no

读取configparser配置文件的实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

import configparser  #配置文件

config = configparser.ConfigParser()

config.read("example.ini")

 

print("所有节点==>",config.sections())

 

print("包含实例范围默认值的词典==>",config.defaults())

 

for item in config["DEFAULT"]:

    print("循环节点topsecret.server.com下所有option==>",item)

 

print("bitbucket.org节点下所有option的key,包括默认option==>",config.options("bitbucket.org"))

 

print("输出元组,包括option的key和value",config.items('bitbucket.org'))

 

print("bitbucket.org下user的值==>",config["bitbucket.org"]["user"]) #方式一

 

topsecret = config['bitbucket.org']

print("bitbucket.org下user的值==>",topsecret["user"]) #方式二

 

print("判断bitbucket.org节点是否存在==>",'bitbucket.org' in config)

 

print("获取bitbucket.org下user的值==>",config.get("bitbucket.org","user"))

 

print("获取option值为数字的:host port=",config.getint("topsecret.server.com","host port"))

运行结果

1

2

3

4

5

6

7

8

9

10

11

12

13

所有节点==> ['bitbucket.org', 'topsecret.server.com']

包含实例范围默认值的词典==> OrderedDict([('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes')])

循环节点topsecret.server.com下所有option==> serveraliveinterval

循环节点topsecret.server.com下所有option==> compression

循环节点topsecret.server.com下所有option==> compressionlevel

循环节点topsecret.server.com下所有option==> forwardx11

bitbucket.org节点下所有option的key,包括默认option==> ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']

输出元组,包括option的key和value [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]

bitbucket.org下user的值==> hg

bitbucket.org下user的值==> hg

判断bitbucket.org节点是否存在==> True

获取bitbucket.org下user的值==> hg

获取option值为数字的:host port= 50022

删除配置文件section和option的实例(默认分组有参数时无法删除,但可以先删除下面的option,再删分组)

1

2

3

4

5

6

7

8

import configparser  #配置文件

config = configparser.ConfigParser()

config.read("example.ini")

config.remove_section("bitbucket.org")

"""删除分组"""

config.remove_option("topsecret.server.com","host port")

"""删除某组下面的某个值"""

config.write(open('example.ini', "w"))

运行结果

1

2

3

4

5

6

7

8

[DEFAULT]

serveraliveinterval = 45

compression = yes

compressionlevel = 9

forwardx11 = yes

 

[topsecret.server.com]

forwardx11 = no

配置文件的修改实例

1

2

3

4

5

6

7

8

9

"""修改"""

import configparser

config = configparser.ConfigParser()

config.read("example.ini")

config.add_section("new_section")

"""新增分组"""

config.set("DEFAULT","compressionlevel","110")

"""设置DEFAULT分组下compressionlevel的值为110"""

config.write(open('example.ini', "w"))

运行结果

1

2

3

4

5

6

7

8

9

10

[DEFAULT]

serveraliveinterval = 45

compression = yes

compressionlevel = 110

forwardx11 = yes

 

[topsecret.server.com]

forwardx11 = no

 

[new_section]

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值