一、概述

1.1、处理的文件形式

configparse 主要是用来处理类似于windows的 ini文件,这个文件的特点是有多个节(section),每个节下会存储多个k=v的值

如下配置

[hardware]
cpu = 2
[os]
os = CentOS
os_version = 6.9
kernel_version = 2.6.32
[common]
selinux = disabled
file_descriptor = 65535
[nginx]
version = 1.6.3
install_path = /tuike/server/nginx
config_file =['/middleWare/nginx/centralapi.conf','/middleWare/nginx/wezhuanba1.conf']

1.2、相关方法

  • config.write()   将配置写入文件,括号里是文件的句柄

二:实践

2.1、生成配置文件

import  configparser
config = configparser.ConfigParser() # 得到一个对象
config["hardware"] = {'cpu':''} # 增加一个hardware节,节内的内容使用字典数据格式表示
config["os"] = {'os':'CentOS','os_version':'6.9','kernel_version':'2.6.32'}
config['common'] = {'selinux':'disabled',
'file_descriptor':''
}
config['nginx'] = {'version':'1.6.3',
'install_path':'/tuike/server/nginx',
'config_file':['/middleWare/nginx/centralapi.conf','/middleWare/nginx/wezhuanba1.conf']
}
with open('test','w',encoding='utf-8') as f:
config.write(f)

2.2、各种操作

import configparser
config = configparser.ConfigParser() # 拿到一个配置对象 ############## sections 操作
# 判断sections是否再配置文件里
print('os' in config) # section in 配置对象
print('wangys' in config) # 查看sections
print(config.sections()) # 直接看sections,因为没有读取配置文件,所以会返回一个空列表
# []
config.read('test.ini',encoding='utf-8') # 读取配置文件,注意编码
print(config.sections()) # 再次打印sections,可以看到有结果
# ['hardware', 'os', 'common', 'nginx'] # 增加一个section
config.add_section('wangys')
print(config.sections())
# ['hardware', 'os', 'common', 'nginx', 'wangys'] # 删除一个section
config.remove_section('wangys')
print(config.sections())
# ['hardware', 'os', 'common', 'nginx'] ##### 操作k/v
# 查看某个节里的内容
# 使用 for 循环去key
# 判断某个key是否再selections里 for key in config['os']:
print(key) # options查看selctions下配置的key
print(config.options('nginx')) # 查看你k v 值 返回一个列表,没有k/v组成一个元祖
print(config.items('nginx'))
# [('version', '1.6.3'), ('install_path', '/tuike/server/nginx'), ('config_file', "['/middleWare/nginx/centralapi.conf', '/middleWare/nginx/wezhuanba1.conf']")]
# 获取某个节下的某个key的value值
print(config.get('os','os_version'))
# print(config['os']['os_version','kernel_version']) # 读取某个sections下的所有的k/v值
l = config.options('nginx')
for key in l:
print('%s:%s'%(key,config.get('nginx',key))) # 删除一个sections下的key config.remove_option('os','kernel_version')
print(config.options('os'))
#['os', 'os_version'] # 增加一个option
config.set('os','name','王诚')
print(config.options('os'))
print(config.get('os','name'))
# ['os', 'os_version', 'name']
# 王永胜 with open('test.ini','w',encoding='utf-8') as f:
config.write(f)

Python内置模块之configparse的更多相关文章

  1. Python学习笔记【第八篇】:Python内置模块

    什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...

  2. python内置模块(4)

    这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...

  3. Python内置模块与标准库

    Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...

  4. python内置模块[re]

    python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...

  5. python内置模块[sys,os,os.path,stat]

    python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...

  6. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  7. python内置模块collections介绍

    目录 python内置模块collections介绍 1.namedtuple 2.deque 3.defaultdict 4.OrderedDict 5.ChainMap 6.Counter 7.小 ...

  8. python内置模块介绍(一)

     本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd()                    ...

  9. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

随机推荐

  1. 第一章· Redis入门部署及持久化介绍

    Redis简介 Redis安装部署 Redis持久化 Redis简介 软件说明: Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. ...

  2. [模板] BSGS/扩展BSGS

    简介 前置知识: 快速幂&&O(1)快速乘 [模板] 数学基础:快速幂/乘/逆元/exGCD/(ex)CRT/(ex)Lucas定理

  3. Magento 目录基本介绍

    Magento 目录基本介绍 app; 与Magento 1一样,该文件夹包含主要的Magento代码; adminhtml和 frontend;/ app / design / adminhtml和 ...

  4. 初学cdq分治学习笔记(可能有第二次的学习笔记)

    前言骚话 本人蒟蒻,一开始看到模板题就非常的懵逼,链接,学到后面就越来越清楚了. 吐槽,cdq,超短裙分治....(尴尬) 正片开始 思想 和普通的分治,还是分而治之,但是有一点不一样的是一般的分治在 ...

  5. 测试常用Linux命令

    大家应该经常在网络上看到下图吧,虽然我们不会去执行下面图片中的命令,但是linux常用的命令对于测试人员来说,还是必须掌握的,不管是做功能测试还是性能测试,最常用的就是看日志了. sudo是linux ...

  6. LoadRunner【第二篇】原理及使用流程

    loadrunner工作原理 性能测试只关注底层数据,不关注业务,不关注客户端动作.所以,脚本运行正确不一定业务就正确(业务是否正确,如果是查询,我们可以通过检查点来判断:如果是增删改操作,可以看通过 ...

  7. java实现sftp客户端上传文件夹的功能

    使用的jar: <dependencies> <dependency> <groupId>jsch</groupId> <artifactId&g ...

  8. CF1059D Nature Reserve

    原题链接 网络不好的可以到洛谷上去QwQ 题目大意 有N个点,求与y=0相切的,包含这N个点的最小圆的半径 输入输出样例 输入: 2 0 1 1 1 输出 0.625 感觉最多是蓝题难度? 首先无解的 ...

  9. linux 触摸屏驱动

    目录 linux 触摸屏驱动 输入子系统怎么写? 触摸屏事件 事件分类 事件设置 硬件配置 设计思路 完整程序 测试 ts_lib 使用 问题小结 title: linux 触摸屏驱动 tags: l ...

  10. HMM隐马尔科夫算法(Hidden Markov Algorithm)初探

    1. HMM背景 0x1:概率模型 - 用概率分布的方式抽象事物的规律 机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测. 概率模型(p ...