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]

Python3 configparse模块(配置)的更多相关文章

  1. 【转】Python3 configparse模块(配置)

    [转]Python3 configparse模块(配置) ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(s ...

  2. python configparse模块&xml模块

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

  3. python模块: hashlib模块, configparse模块, logging模块,collections模块

    一. hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用 ...

  4. 14 ConfigParse模块

    1.ConfigParse模块的基本概念 此模块用于生成和修改常见配置文档. ConfigParser 是用来读取配置文件的包. 配置文件的格式如下:中括号“[ ]”内包含的为section.sect ...

  5. configParse模块

    一.配置文件简介 在各种程序里面都有配置文件,为了对配置文件进行操作. python中引入了configParse模块进行操作. 配置数值类型: 配置文件中,我们看到的bool型,整数型,在我们操作的 ...

  6. 0423 hashlib模块、logging模块、configparse模块、collections模块

    一.hashlib模块补充 1,密文验证 import hashlib #引入模块 m =hashlib.md5() # 创建了一个md5算法的对象 m.update(b') print(m.hexd ...

  7. Python3 logging 模块

    Python3 logging模块 日志模块: 用于便捷记录日志且线程安全的模块 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN ...

  8. Python进阶-XVV hashlib模块、configparse模块、logging模块

    1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...

  9. python学习-58 configparse模块

    configparse模块 1.生成文件 import configparser # 配置解析模块 config = configparser.ConfigParser() # config = { ...

随机推荐

  1. Twitter数据挖掘:如何使用Python分析大数据 (3)

    让我们来拉取Twitter账号@NyTimes的最近20条微博. 我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline ...

  2. 自学Linux Shell18.2-sed编辑器高级特性

    点击返回 自学Linux命令行与Shell脚本之路 18.2-sed编辑器高级特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. sed小结 命令格式: 1 sed [opt ...

  3. Change upload file limit in specified Webapllication in SharePoint (PowerShell)

    http://gallery.technet.microsoft.com/office/Change-upload-file-limit-89502ff2  http://sharepointrela ...

  4. 【转】学习MOS管技术知识,这篇文章就够了!

    MOS管学名是场效应管,是金属-氧化物-半导体型场效应管,属于绝缘栅型.本文就结构构造.特点.实用电路等几个方面用工程师的话简单描述. 其结构示意图: 解释1:沟道 上面图中,下边的p型中间一个窄长条 ...

  5. 更新本地git仓库的远程地址(remote地址)

    如果远程仓库的地址更新了,我们本地仓库就需要更新remote地址, 可以通过git remote -v或者cat .git/config查看通信方式及远程地址 更新远程地址的方式有两种: 第一种方式: ...

  6. Activity的跳转与传值

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://android.blog.51cto.com/268543/323982 Acti ...

  7. exec函数族的使用

    作者:王姗姗,华清远见嵌入式学院讲师. exec用被执行的程序完全替换调用它的程序的影像.fork创建一个新的进程就产生了一个新的PID,exec启动一个新程序,替换原有的进程,因此这个新的被exec ...

  8. Luogu 1351 NOIP 2014 联合权值(贪心,计数原理)

    Luogu 1351 NOIP 2014 联合权值(贪心,计数原理) Description 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi, ...

  9. Java: String.split(....); 结果很意外

    String txt = "join|公共聊天室||"; String[] paras = txt.splite("\\|"); String t1 = par ...

  10. Codeforces Round #523 (Div. 2) C. Multiplicity

    C. Multiplicity 题目链接:https://codeforc.es/contest/1061/problem/C 题意: 给出一串数,问它的“好序列“有多少.好序列的定义是,首先是一个子 ...