configparser简介
- ConfigParser模块已在Python 3中重命名为configparser
- 该模块定义了ConfigParser类。 ConfigParser类实现一种基本的配置文件解析器语言,该语言提供的结构类似于 .ini 文件中的结构
ini文件相关知识
- 键值对可用 = 或者 : 进行分隔
- section 的名字是区分大小写的,而 option 的名字是不区分大小写的
- 键值对中头部和尾部的空白符会被去掉
- 值可以为多行
- 配置文件可以包含注释,注释以 # 或者 ; 为前缀
ini文件示例
[server] age = 45 username = yes # server就是section # age、username就是option
操作ini文件
认准三部曲
- 实例化ConfigParser类
- 读取配置文件
- 操作配置文件
基础代码
1 import configparser 2 3 filename = 'F:/Interface/config/server.ini' 4 # 实例化configparser 5 config = configparser.ConfigParser() 6 7 # 读取配置文件 8 config.read(filename, encoding="utf-8-sig") 9 10 # 获取某个option的值(最常见的操作) 11 config.get(section="server", option="username")
包含知识点
- 当你配置文件有中文时,在调用 read() 方法时,需要传 encoding="utf-8-sig" 参数
- 最常见的操作就是 get(section,option,fallback="默认值") ,获取某个option的值,当然也可以传个 fallback ,当你的option不存在的时候,就会返回fallback的值
#coding:utf-8
import ConfigParser#配置文件包引用
from common import logger_method
import os
class ReadConfig():
def __init__(self, logger):
self.logger = logger
def readConfig(self, tagname, name):
try:
cf = ConfigParser.ConfigParser() # 实例化configparser
#定义配置ini文件路径
cfpath = os.path.dirname(os.path.abspath('.'))+"auto_test_easyfly\\dataBase\\config.ini"
print cfpath
cf.read(cfpath)# 读取配置文件
res_name = cf.get(tagname, name)# 获取某个option的值
return res_name
except:
self.logger.error("read config error")
if __name__ == "__main__":
logger = logger_method.LoggingMethod()
readConfig = ReadConfig(logger.getlogger())
name = readConfig.readConfig("caps", "platformName")
print(name)