Python语言的configparser模块便捷的读取配置文件内容
配置文件是在写脚本过程中经常会用到的,所以读取配置文件的模块configparser也非常重要,但是很简单。
首先我们的配置文件内容为:
这样的配置文件,[]里面的内容叫section,[]下面的内容叫options,可以使用configparser模块下的get方法获取具体值。
import configparser
#创建一个解析器
config = configparser.ConfigParser()
# 读取出config的内容并解析
config.read(‘config.ini’, encoding = ‘utf-8’)
# 使用get方法获得配置文件内容,返回的内容都是str类型
config.get(‘DATABASE’, ‘host’)
config.get(‘path’, ‘db_path’)
#如果想要获取int类型或者bool,float类型,就在get的后面加int,bool,float
config.getint(‘DATABASE’, ‘port’)
示例代码:
import os
import codecs
import configparser class ReadConfig:
def __init__(self):
with open(config_path) as fd:
data = fd.read()
# 判断data是否带BOM,如果带就删除
if data[:3] == codecs.BOM_UTF8:
data = data[3:]
# 使用codecs.open打开文件,写入的时候更不容易出现编码问题,open方法只能写入str
with codecs.open("config.ini", "w") as file:
file.write(data)
# 将配置文件分割成一块一块的字典形式
self.cf = configparser.ConfigParser()
self.cf.read("config.ini") def get_db(self, name):
value = self.cf.get("DATABASE", name)
return value
不太常用的还有:
# 是否有某个选项
config.has_option()
# 添加选项
config.add_section(‘server’)
config.set(‘server’, ‘url’, ’192.168.1.1’)
# 删除选项
config.remove_option(‘database’, ‘host’)
# 修改
config.set(‘database’, ‘host’, ’192.168.0.0’)
# 获取所有section
config.sections()
# 获取指定section的配置信息
config.items(‘path’)
Python语言的configparser模块便捷的读取配置文件内容的更多相关文章
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python 标准库 ConfigParser 模块 的使用
Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...
- Python+selenium之读取配置文件内容
Python+selenium之读取配置文件内容 Python支持很多配置文件的读写,此例子中介绍一种配置文件的读取数据,叫ini文件,python中有一个类ConfigParser支持读ini文件. ...
- java读取配置文件内容
利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python中的ConfigParser模块
1.简介 我们经常需要使用配置文件,例如.conf和.ini等类型,使用ConfigPaser模块可以对配置文件进行操作. 2.示例 现有配置文件test.ini,其内容如下: [section_a] ...
- python学习 day19 configparser模块 os模块 subprocess模块
上周五回顾 logging 用于记录日志 四种核心角色: 生成器Logger 过滤器Filter 处理器Handler 格式化处理器 Formatter logging.info.debug 使用默认 ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- python学习之 - configparser模块
configparser模块功能:用于生成和修改常见配置文件.基本常用方法如下: read(filename):直接读取配置文件write(filename):将修改后的配置文件写入文件中.defau ...
随机推荐
- 设置html各元素不可点击(持续更新)
1.span <span id="nextStep" onclick="right">下一页</span> $("#nextS ...
- Java发送邮件Demo
就是个Demo,有使用Spring的东西 package xxxxxxx.common.utils; import org.springframework.mail.javamail.JavaMail ...
- linux 运行处理者
如同前面建议的, 当内核收到一个中断, 所有的注册的处理者被调用. 一个共享的处理者 必须能够在它需要的处理的中断和其他设备产生的中断之间区分. 使用 shared=1 选项来加载 short 安装了 ...
- 51nod 1832 前序后序遍历
思路:设只有一颗子树的节点有ans个设前序边历数组为pre[100],后序遍历数组为pos[100]:前序遍历的第二个元素是A的一个子节点左右节点不知,设ax-ay表示一个树的前序遍历,bx-by表示 ...
- 【52.55%】【BZOJ 4520】K远点对
Time Limit: 30 Sec Memory Limit: 512 MB Submit: 588 Solved: 309 [Submit][Status][Discuss] Descript ...
- vue-learning:21 - js - mixins
mixins 混入是一种对重复代码的组织方式,可以在多个组件间复用代码. 如果在项目中,在多个组件间有一段逻辑代码是共同的.那常见的处理方式是: 每个组件都复制粘贴代码(显然这是最不好方式) 将以共同 ...
- Oracle如何分组排序并产生序号
SELECT C.ORG_SHORTNAME, B.USER_NAME, ROW_NUMBER () OVER ( PARTITION BY B.ORG_ID ORDER BY A.TOTAL_SCO ...
- hive查询中文乱码问题
问题1. hue中中文字符乱码问题,重现步骤如下 create external table test_1_txt (id int, name varchar(100)) location '/tm ...
- Android studio 使用git仓库记录
studio 绑定git settings --> verson control -->git 在项目文件目录右击打开git bash here操作界面 查看git项目安装位置 找到id_ ...
- LDO
1.出现原因:便携式设备的发展,使得人们对电源的要求越来越高,而以前一直使用的三段稳压电源无法满足需求. 2.特点:内部的PNP管导通压降很小,自耗很低. 3.应用场合: (1)不同电压输出级别的应用 ...