pythopn configparser 模块(配置)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介:
ConfigParser(py2)模块在python3中修改为configparser该类的作用是使用配置文件生效,
配置文件的格式和windows的INI文件的格式相同
该模块的作用 就是使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()
这三个方法(三者择其一),创建一个对象使用对象的方法对指定的配置文件做增删改查 操作。
配置文件有不同的片段组成和Linux中repo文件中的格式类似:
[section] 
name=value
或者
name: value
"#" 和";" 表示注释

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = hg

[topsecret.server.com]
Port = 50022
ForwardX11 = no

如果想用python生成一个这样的文档怎么做呢?
>>> import configparser
>>> config = configparser.ConfigParser()
>>> config["DEFAULT"] = {'ServerAliveInterval': '45',
>>>                      'Compression': 'yes',
>>>                      'CompressionLevel': '9'}
>>> config['bitbucket.org']={'User':'lb'}
>>> 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'
>>> with open('example.ini', 'w') as configfile:
>>>     config.write(configfile)

filesnames是一个列表,
需要从文件加载初始值的应用程序应该在调用read()之前使用readfp()加载所需的文件或文件。

查
>>> config.read('example.ini')          # 不会输出默认的   DEFAULT 需要特定方法获取
>>> print(config.sections())                    #['bitbucket.org', 'topsecret.server.com']
>>> print(config.defaults())             #OrderedDict([('serveraliveinterval', '45'), ('forwardx11', 'yes')])
>>> print('topsecret.server.com' in config)      # False   检查是否存在 不存在返回False
>>> print(config['bitbucket.org']['User']) # lb   取值  和字典一样
***************
>>> for key in config:
>>>     print(key)         # lb  DEFAULT   bitbucket.org    topsecret.server.com
>
>>> for key in config['bitbucket.org']:                     #DEFAULT  总是跟着
>>>     print(key)            #lb   user  serveraliveinterval  compression  compressionleve forwardx11
****************
>>> print(config.options('bitbucket.org'))  
> #['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
print(config.items('bitbucket.org'))
>#[('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'lb')]
>>> print(config.get('bitbucket.org','compression'))        #yes
>>> sec = config.has_section('topsecret.server.com')   #检查是否存在  不存在返回False
>>> print(sec)

删
*****************
>>> config.write(open('i.cfg', "w"))        
>  #为什么要写这个操作 一个文件内容被定死绝对不会被修改 该操作内容取出是重新生成一个文件
>>> config.write(open('example.ini', "w"))   #同名 是先把之前内容清除重新写一遍    不是修改是覆盖
****************
>>> config.remove_option('bitbucket.org','user')
>>> config.write(open('example.ini', "w"))   #同名 是先把之前内容清除重新写一遍    不是修改是覆盖

改
**********
>>> sec = config.set('bitbucket.org','22','asss')  #一值“模块”  二值“键”  三值“值”  当键不存在 新生成
>>> config.write(open('i.cfg', "w"))         
> #为什么要写这个操作 一个文件内容被定死绝对不会被修改 该操作内容取出是重新生成一个文件
*************

python的ConfigParser













本文转自lb沫51CTO博客,原文链接:http://blog.51cto.com/13562606/2060669,如需转载请自行联系原作者

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6月前
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
97 0
|
3月前
|
存储 Python Windows
configparser模块和PyYAML模块生成和修改配置文件
`configparser`模块用于生成和修改配置文件,其结构类似Windows INI文件,便于用户定制。配置文件由多个部分组成,每部分包含键值对,键值对用`:`或`=`分隔,注释以`#`或`;`开头。`configparser`提供了读取、写入及修改配置文件的功能,如通过`ConfigParser()`创建对象,使用`read()`方法读取文件,`write()`方法写入文件,以及`get()`等方法获取配置信息。`PyYAML`模块则用于处理YAML格式文件,可通过`yaml.load()`读取并解析YAML文件为字典,`yaml.dump()`将数据序列化为YAML格式并写入文件。
37 1
|
6月前
|
JavaScript 前端开发 Shell
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
230 0
|
XML JSON 测试技术
Python之configparser模块详解和使用
Python之configparser模块详解和使用
88 0
Python之configparser模块详解和使用
python configParser配置文件模块
python configParser配置文件模块
|
运维 Ubuntu Linux
【iniparser】项目配置工具iniparser的简单使用
【iniparser】项目配置工具iniparser的简单使用