教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python常用模块之configparse

Python常用模块之configparse

发布时间:2021-12-12   编辑:jiaochengji.com
教程集为您提供Python常用模块之configparse等资源,欢迎您收藏本站,我们将为您提供最新的Python常用模块之configparse资源

<span style="font-size: 18px;"></span>

<span style="font-size: 18px;">常用模块 - configparse模块</span>

一、简介

configparser模块在Python中是用来读取配置文件的,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section),每个节可以有多个参数(键=值)。

二、生成配置文件

<pre class="brush:php;toolbar:false">#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Note     : 用于测试configparser模块的功能 # 导入模块 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)</pre>

运行后,文件“example.ini”中的结果:

<pre class="brush:php;toolbar:false">[DEFAULT] compression = yes compressionlevel = 9 serveraliveinterval = 45 forwardx11 = yes [bitbucket.org] user = hg [topsecret.server.com] host port = 50022 forwardx11 = no</pre>

相关推荐:《Python视频教程》

三、解析配置文件

读取configparser配置文件的实例

<pre class="brush:php;toolbar:false">#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Note     : 用于测试configparser模块的功能 # 导入模块 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"))</pre>

运行结果:

<pre class="brush:php;toolbar:false">所有节点==> ['bitbucket.org', 'topsecret.server.com'] 包含实例范围默认值的词典==> OrderedDict([('compression', 'yes'), ('compressionlevel', '9'), ('serveraliveinterval',  '45'), ('forwardx11', 'yes')]) 循环节点topsecret.server.com下所有option==> compression 循环节点topsecret.server.com下所有option==> compressionlevel 循环节点topsecret.server.com下所有option==> serveraliveinterval 循环节点topsecret.server.com下所有option==> forwardx11 bitbucket.org节点下所有option的key,包括默认option==> ['user', 'compression', 'compressionlevel',  'serveraliveinterval', 'forwardx11'] 输出元组,包括option的key和value [('compression', 'yes'), ('compressionlevel', '9'), ('serveraliveinterval', '45'),  ('forwardx11', 'yes'), ('user', 'hg')] bitbucket.org下user的值==> hg bitbucket.org下user的值==> hg 判断bitbucket.org节点是否存在==> True 获取bitbucket.org下user的值==> hg 获取option值为数字的:host port= 50022</pre>

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

<pre class="brush:php;toolbar:false">#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Note     : 用于测试configparser模块的功能 # 导入模块 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"))</pre>

运行后,文件“example.ini”中的结果:

<pre class="brush:php;toolbar:false">[DEFAULT] compression = yes compressionlevel = 9 serveraliveinterval = 45 forwardx11 = yes [topsecret.server.com] forwardx11 = no</pre>

修改配置文件

<pre class="brush:php;toolbar:false">#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Note     : 用于测试configparser模块的功能 # 导入模块 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"))</pre>

运行后,文件“example.ini”中的结果:

<pre class="brush:php;toolbar:false">[DEFAULT] compression = yes compressionlevel = 110 serveraliveinterval = 45 forwardx11 = yes [topsecret.server.com] forwardx11 = no [new_section]</pre>

您可能感兴趣的文章:
Python常用模块之configparse
Python自定义模块
django中常见的模块有哪些
python怎么升级模块
python __name__是什么
Python __file__属性:查看模块的源文件路径
python模块和包的区别
python中import有什么用法
详解Python中import方法引入模块
Python之全局解释器锁GIL

[关闭]
~ ~