Python3 configparse模块(配置)
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 parsertopsecret['ForwardX11'] = 'no' # same hereconfig['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 = 45compression = yescompressionlevel = 9forwardx11 = yes[bitbucket.org]user = hg[topsecret.server.com]host port = 50022forwardx11 = 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==> forwardx11bitbucket.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的值==> hgbitbucket.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 = 45compression = yescompressionlevel = 9forwardx11 = yes[topsecret.server.com]forwardx11 = no |
配置文件的修改实例
|
1
2
3
4
5
6
7
8
9
|
"""修改"""import configparserconfig = 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 = 45compression = yescompressionlevel = 110forwardx11 = yes[topsecret.server.com]forwardx11 = no[new_section] |
Python3 configparse模块(配置)的更多相关文章
- 【转】Python3 configparse模块(配置)
[转]Python3 configparse模块(配置) ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(s ...
- python configparse模块&xml模块
configparse模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. [DEFAULT] serveraliveinterval = ...
- python模块: hashlib模块, configparse模块, logging模块,collections模块
一. hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用 ...
- 14 ConfigParse模块
1.ConfigParse模块的基本概念 此模块用于生成和修改常见配置文档. ConfigParser 是用来读取配置文件的包. 配置文件的格式如下:中括号“[ ]”内包含的为section.sect ...
- configParse模块
一.配置文件简介 在各种程序里面都有配置文件,为了对配置文件进行操作. python中引入了configParse模块进行操作. 配置数值类型: 配置文件中,我们看到的bool型,整数型,在我们操作的 ...
- 0423 hashlib模块、logging模块、configparse模块、collections模块
一.hashlib模块补充 1,密文验证 import hashlib #引入模块 m =hashlib.md5() # 创建了一个md5算法的对象 m.update(b') print(m.hexd ...
- Python3 logging 模块
Python3 logging模块 日志模块: 用于便捷记录日志且线程安全的模块 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN ...
- Python进阶-XVV hashlib模块、configparse模块、logging模块
1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...
- python学习-58 configparse模块
configparse模块 1.生成文件 import configparser # 配置解析模块 config = configparser.ConfigParser() # config = { ...
随机推荐
- 自学Linux Shell19.1-gawk程序基础特性
点击返回 自学Linux命令行与Shell脚本之路 19.1-gawk程序基础特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. gawk概念 awk是一个强大的文本分析工具 ...
- android post 方式 访问网络 实例
android post 方式 访问网络 实例 因为Android4.0之后对使用网络有特殊要求,已经无法再在主线程中访问网络了,必须使用多线程访问的模式 该实例需要在android配置文件中添加 网 ...
- [luogu4265][USACO18FEB]Snow Boots silver
题目大意 求出最少需要丢去多少双靴子才能到达终点. 解法 解法一: 看到数据的范围,非常清楚\(O(n^3)\)能过掉所有的数据,那么我们就果断暴力. 解法二: 比较容易会想到用DP做,我一开始定义\ ...
- 洛谷 P2463 [SDOI2008]Sandy的卡片 解题报告
P2463 [SDOI2008]Sandy的卡片 题意 给\(n(\le 1000)\)串,定义两个串相等为"长度相同,且一个串每个数加某个数与另一个串完全相同",求所有串的最长公 ...
- 洛谷 P1158 导弹拦截(不是那个DP) 解题报告
P1158 导弹拦截 题目描述 经过1111年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0时,则能够拦截与它位置恰好相同的导弹. ...
- SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous R ...
- 【洛谷P3600】 随机数生成器
https://www.luogu.org/problem/show?pid=3600#sub (题目链接) 题意 一个$n$个数的序列,里面每个数值域为$[1,X]$.给$q$个区间,每个区间的权值 ...
- Android 自定义ImageView支持缩放,拖拽,方便复用
今天刚发了一篇关于ImageView的缩放和拖拽的博客,然后我想了下,将他自定义下,方便我们来复用这个imageView,效果我就不多说了,http://blog.csdn.net/xiaanming ...
- A1102. Invert a Binary Tree
The following is from Max Howell @twitter: Google: 90% of our engineers use the software you wrote ( ...
- quartz简单定时任务【可以处理完一个任务才开启下一个线程】【我】
maven jar project项目一个 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...