pythopn configparser 模块(配置)

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月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,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
安全 Linux 网络安全
VS Code通过跳板机连接服务器进行远程代码开发
VS Code通过跳板机连接服务器进行远程代码开发
2660 0
VS Code通过跳板机连接服务器进行远程代码开发
|
存储 分布式计算 监控
Hologres产品介绍与技术揭秘
近年来,随着数据实时化的诉求加剧,催生了一系列的实时数仓架构,Lambda架构也应运而生,但是随着场景的复杂度和业务多维需求,Lambda架构的痛点也越来越明显。HSAP的理念则是服务分析一体化,在本文中,来自阿里巴巴的资深技术专家将会深度剖析HSAP技术实现Hologres的设计原理,解读其产品典型场景。
13345 0
Hologres产品介绍与技术揭秘
|
编解码 弹性计算 JavaScript
用云服务器实现B站直播录屏
利用云服务器ECS实现B站直播录屏、弹幕记录、投稿上传等操作。
3666 0
|
11月前
|
人工智能 搜索推荐
PersonaMagic:人像与风格融合!快速生成个性化的头像
PersonaMagic 是一种创新的高保真人脸定制技术,通过阶段调节的文本条件策略和动态嵌入学习,能够根据单张图像生成个性化角色,广泛应用于娱乐、游戏、影视等领域。
239 25
PersonaMagic:人像与风格融合!快速生成个性化的头像
|
存储 Java 测试技术
解析 -XX:+UseCompressedOops JVM 选项
【8月更文挑战第21天】
323 0
|
存储 机器学习/深度学习 大数据
量子计算与大数据:处理海量信息的新方法
量子计算作为革命性的计算范式,凭借量子比特和量子门的独特优势,展现出在大数据处理中的巨大潜力。本文探讨了量子计算的基本原理、在大数据处理中的应用及面临的挑战与前景,展望了其在金融、医疗和物流等领域的广泛应用。
|
编解码 Java Linux
开源文档预览项目 kkFileView (9.9k star) ,快速入门
kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。 该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。
开源文档预览项目 kkFileView (9.9k star) ,快速入门
|
Java 数据库连接 数据库
MyBatis之旅:从零开始的环境搭建与配置
MyBatis之旅:从零开始的环境搭建与配置
402 1
|
网络协议
DHCP服务详解
DHCP服务详解
951 0
|
XML 缓存 前端开发
SpringBoot + MyBatis-Plus构建树形结构的几种方式
SpringBoot + MyBatis-Plus构建树形结构的几种方式