189 8069 5689

Python的configparse模块-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、做网站、淮阴网络推广、小程序设计、淮阴网络营销、淮阴企业策划、淮阴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联为所有大学生创业者提供淮阴建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

本篇文章给大家分享的是有关Python的configparse模块,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

常用模块 - configparse模块

一、简介

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

二、生成配置文件

#! /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)

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

[DEFAULT]
compression = yes
compressionlevel = 9
serveraliveinterval = 45
forwardx11 = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
host port = 50022
forwardx11 = no

三、解析配置文件

读取configparser配置文件的实例

#! /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"))

运行结果:

所有节点==> ['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

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

#! /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"))

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

[DEFAULT]
compression = yes
compressionlevel = 9
serveraliveinterval = 45
forwardx11 = yes
[topsecret.server.com]
forwardx11 = no

修改配置文件

#! /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"))

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

[DEFAULT]
compression = yes
compressionlevel = 110
serveraliveinterval = 45
forwardx11 = yes
[topsecret.server.com]
forwardx11 = no
[new_section]

以上就是Python的configparse模块,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联-成都网站建设公司行业资讯频道。


网页名称:Python的configparse模块-创新互联
当前网址:http://cdxtjz.cn/article/degjjp.html

其他资讯