python学习之 - configparser模块
configparser模块
功能:用于生成和修改常见配置文件。
基本常用方法如下:
read(filename):直接读取配置文件
write(filename):将修改后的配置文件写入文件中。
defaults():返回全部示例中所有defaults
sections():得到所有的section,并以列表的形式返回
items(section):得到该section的所有键值对
has_section(section):检查是否有section,有返回True,无返回False
has_option(section,option):检查section下是否有指定的option,有返回True,无返回False
getint(section,option):得到section中option的值,返回为int类型
get(section,option):得到section中option的值,返回为string类型
getboolean(section,option):得到section中option的值,返回为boolean类型
getfloat(section,option):得到section中option的值,返回为float类型
add_section(section):添加一个新的section
remove_section(section):删除某个section
options(section):得到该section的所有option
set(section,option,value):对section中的option进行设置,需要调用write将内容写入配置文件
remove_option(section,option):删除某个section下的option
能处理的配置文件格式如下:
[mysql] #节点名
键 = 值
举例1:自动生成一个配置文件
import configparser
# 自动生成配置文件
cfg = configparser.ConfigParser()
# 创建一个全局配置
cfg['DEFAULT'] = {
'ServerAliveInterval':'',
'Compression':'yes',
'CompressionLevel':''
}
#创建局部配置
cfg['bitbucket.org'] = {}
cfg['bitbucket.org']['User'] = 'hg'
cfg['topsecret.server.com'] = {}
topsecret = cfg['topsecret.server.com']
topsecret['host port'] = ''
topsecret['ForwardX11'] = 'no'
cfg['DEFAULT']['ForwardX11'] = 'yes'
# 配置完成,重写文件
with open('example.ini','w') as f:
cfg.write(f)
###以下进行配置文件的 增/删/改/查 功能实例
先导入模块读取配置文件
import configparser
cfg = configparser.ConfigParser()
# 读取配置文件
cfg.read('example.ini',encoding='utf-8')
# 提取所有第一层节点信息以列表打印
info = cfg.sections()
print(info)
-- 增 操作
# 判断节点是否存在
sec = cfg.has_section('name')
# 判断节点下的text键是否存在
sec = cfg.has_option('name','text')
# 增加节点操作
sec = cfg.add_section('name')
-- 修改/增加 为节点增加或修改一行数据 操作
cfg.set('name','text','jeck')
cfg.write(open('examp2.ini','w'))
-- 删 操作
# 删除bitbucket.org节点所有数据
sec = cfg.remove_section('bitbucket.org')
cfg.write(open('examp1.ini','w'))
# 删除节点下一行数据
sec = cfg.remove_option('topsecret.server.com','host port')
cfg.write(open('examp2.ini','w'))
-- 查 操作
# 单独打印default信息
print(cfg.defaults())
# 以元组列表形式打印指定节点下所有信息(会连带默认打印default信息)
print(cfg.items('bitbucket.org'))
# 查找打印匹配信息
print(cfg['bitbucket.org']['user']) 类似于 print(cfg.get('bitbucket.org','user'))
print(cfg['DEFAULT']['forwardx11'])
section_name = cfg.sections()[1]
print(cfg[section_name]['host port'])
# 循环打印指定节点下所有信息
for k,v in cfg[section_name].items():
print(k,v) # 打印指定节点和默认节点所有的Key
print(cfg.options('topsecret.server.com'))
for k,v in cfg.items('topsecret.server.com'):
print(k,v)
python学习之 - configparser模块的更多相关文章
- python学习 day19 configparser模块 os模块 subprocess模块
上周五回顾 logging 用于记录日志 四种核心角色: 生成器Logger 过滤器Filter 处理器Handler 格式化处理器 Formatter logging.info.debug 使用默认 ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python 标准库 ConfigParser 模块 的使用
Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
随机推荐
- iOS 二维码扫描 通过ZBar ZXing等第三方库
扫描二维码的开源库有很多如 ZBar.ZXing等 ZBar的使用方法: 下载ZBar SDK 地址https://github.com/bmorton/ZBarSDK ZBarSDK是一个开源的SD ...
- Scrapy-Redis分布式爬虫小白问题记录
1.首先我是将Redis装在了阿里云的一台CentOS6.8上,使用ps -ef|grep redis查看是否成功运行 2.CentOS安装scrapy请参考 http://blog.csdn.net ...
- 求N个数的最大公约数
使用 “辗转相除法” 计算2个数的最大公因数: int GCD_2(int nNum1, int nNum2) { if (nNum1 > nNum2) { nNum1 = nNum1 ^ nN ...
- Python3简明教程(三)—— 运算符和表达式
运算符 什么是运算符? 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. Python支持以下类型的运算符: 算术运算符 关系运算符 赋 ...
- 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author Jame ...
- delphi jinchengneicun
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Configuring_the_Memory_Manager https://docs.micros ...
- node程序的部署神器pm2的基本使用
pm2是从nodejs衍生出来的服务器进程管理工具,可以做到开机就启动nodejs.当然了,也可以用nohup来做这件事情的. 前言 众所周知,Node.js运行在Chrome的JavaScript运 ...
- C++中static,extern和extern "C"关键字
1. extern 变量 extern 表明该变量在别的地方已经定义过了,在这里要使用那个变量. 当extern不与"C"在一起修饰变量或函数时,如在头文件中: extern in ...
- UIWebView与js那些事
UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容.其中就要用到javascript的知识,而UIWebView与javascript交互的 ...
- 15. PARTITIONS
15. PARTITIONS PARTITIONS表提供有关表分区的信息. 此表中的每一行对应于分区表的单个分区或子分区. 有关分区表的更多信息,请参见分区. PARTITIONS表有以下列: TAB ...