python中的ConfigParser模块
1.简介
我们经常需要使用配置文件,例如.conf和.ini等类型,使用ConfigPaser模块可以对配置文件进行操作。
2.示例
现有配置文件test.ini,其内容如下:
[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = b_value1
b_key2 = b_value2
2.1读取配置文件
# -*- coding=utf-8 -*-
import ConfigParser
import os # 生成config对象
os.chdir('C:\\Study\\python\\configparser')
cf = ConfigParser.ConfigParser()
# 读取配置文件
cf.read("test.ini")
2.2读取数据
# 读取所有节
sections = cf.sections()
print 'sections:', sections
结果如下:
------------------------
# 读取指定节的键
opts = cf.options('section_a')
print 'options:', opts
结果如下:
------------------------
# 读取指定节的所有键值对
kvs = cf.items('section_a')
print 'section_a:', kvs
结果如下:
------------------------
# 读取指定节和键的值
2 # 主要使用的有get()、getint()方法,前者为str类型,后者为int类型
kv1 = cf.get('section_a', 'a_key1')
print kv1, type(kv1)
kv2 = cf.getint('section_a', 'a_key2')
print kv2, type(kv2)
结果如下:
2.3写入数据
# 更新指定节和键的值
cf.set('section_b', 'b_key1', 'new_value1')
结果如下:
[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
-------------------
# 对指定节,新增键
cf.set('section_b', 'b_key3')
结果如下:
[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None
-------------------
# 对指定节,新增键值对
cf.set("section_b", "b_new_key", "b_new_value")
结果如下:
[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None
b_new_key = b_new_value
-------------------
# 新增节
cf.add_section('section_c')
结果如下:
[section_a]
a_key1 = str content
a_key2 = 10 [section_b]
b_key1 = new_value1
b_key2 = b_value2
b_key3 = None
b_new_key = b_new_value [section_c]
在所有写入完毕后,进行保存操作:
# 写入文件
cf.write(open('test.ini', 'w'))
!!!
python中的ConfigParser模块的更多相关文章
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- python中的StringIO模块
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...
- python中的select模块
介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
- python中的shutil模块
目录 python中的shutil模块 目录和文件操作 归档操作 python中的shutil模块 shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数. 目录和文 ...
随机推荐
- PTA 7-2 列车调度(25 分)
7-2 列车调度(25 分) 火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择任意一条轨道 ...
- 【译】第37节---EF6-异步查询和保存
原文:http://www.entityframeworktutorial.net/entityframework6/async-query-and-save.aspx 你可以在.NET4.5下使用 ...
- 如何创建R包并将其发布在 CRAN / GitHub 上--转载
转载--https://www.analyticsvidhya.com/blog/2017/03/create-packages-r-cran-github/ 什么是 R 包?我开始创建 R 包的原因 ...
- 深究CSS中Position的属性和特性
一.position的概念 作为布局必不可缺少的元素之一,深究其属性以及一些注意点是非常必要的. 定义:规定元素的定位类型. position属性: 属性 描述 常用性 absolute 生成绝对定位 ...
- 利用logstash从mysql同步数据到ElasticSearch
前面一篇已经把logstash和logstash-input-jdbc安装好了. 下面就说下具体怎么配置. 1.先在安装目录bin下面(一般都是在bin下面)新建两个文件jdbc.conf和jdbc. ...
- Tp5.1使用导出Excel
composer require phpoffice/phpexcel 不管它的警告,都能用的. use PHPExcel; use PHPExcel_IOFactory; public static ...
- 如何看待Arcsoft虹软,推出的人脸认知引擎免费SDK?
虹软公司是一家具有硅谷背景的图像处理公司,除了人脸技术以外,还有多项图像及视频处理技术.他们的双摄像头处理算法和人脸美化算法囊括了包括OPPO VIVO,SUMAMNG一系列手机厂商. 整个人脸识别运 ...
- [C#][Windows]]基于ArcFace2.0+红外双目摄像头的活体检测
废话不多说 直接上图 这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红 ...
- opencv4.0 cuda10 编译速度太慢
opencv4.0 cuda10 对比不带cuda的时候,编译速度太慢,主要卡在cuda的编译上. 参考http://answers.opencv.org/question/5090/why-open ...
- (转+整理)C#中动态执行代码
通过微软提供的CSharpCodeProvider,CompilerParameters,CompilerResults等类,可以在运行时,动态执行自己写的代码文件.原理就是把你的代码文件动态编译成e ...