Python内置模块之configparse
一、概述
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的更多相关文章
- Python学习笔记【第八篇】:Python内置模块
		
什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...
 - python内置模块(4)
		
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...
 - Python内置模块与标准库
		
Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...
 - python内置模块[re]
		
python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...
 - python内置模块[sys,os,os.path,stat]
		
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...
 - Python内置模块和第三方模块
		
1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...
 - python内置模块collections介绍
		
目录 python内置模块collections介绍 1.namedtuple 2.deque 3.defaultdict 4.OrderedDict 5.ChainMap 6.Counter 7.小 ...
 - python内置模块介绍(一)
		
本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd() ...
 - python内置模块(time模块)
		
常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...
 
随机推荐
- 23个Python爬虫开源项目代码,让你一次学个够
			
今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号 ...
 - AngularJS 1.x系列:Node.js安装及npm常用命令(1)
			
1. Node.js安装 1.1 Node.js下载 Node.js官网:https://nodejs.org 当前下载版本(含npm):Latest LTS Version: v6.10.3 (in ...
 - Python pip Unable--
			
It is possible that pip does not get installed by default. One potential fix is: python -m ensurepip ...
 - Install Air Conditioning HDU - 4756(最小生成树+树形dp)
			
Install Air Conditioning HDU - 4756 题意是要让n-1间宿舍和发电站相连 也就是连通嘛 最小生成树板子一套 但是还有个限制条件 就是其中有两个宿舍是不能连着的 要求所 ...
 - Qt  QWidget
			
原文: https://www.cnblogs.com/muyuhu/archive/2012/10/26/2741184.html QWidget 类代表一般的窗口,其他窗口类都是从 QWidget ...
 - Assignment HDU - 2853(求最小改变边数)
			
Assignment Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
 - 图论(最短路&最小生成树)
			
图论 图的定义与概念 图的分类 图,根据点数和边数可分为三种:完全图,稠密图与稀疏图. 完全图,即\(m=n^2\)的图\((m\)为边数,\(n\)为点数\()\).如: 1 1 0 1 2 1 1 ...
 - 走进Java中的持有对象(容器类)之一 容器分类
			
Java容器可以说是增强程序员编程能力的基本工具,本系列将带您深入理解容器类. 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 ...
 - 爬虫案例之Pubmed数据库下载
			
代码 # encoding=utf-8 import os, time, re import urllib.request import urllib.parse import ssl ssl._cr ...
 - Docker: 基础介绍 [一]
			
一.Docker介绍 Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源 Do ...