python学习笔记之读取配置文件

最近在接触利用python来写测试框架,本人也是个刚接触python,因此是个小菜鸟,今天开始,一点点的记录学习中的积累,方便之后的学习以及回顾,也但愿能帮助跟我同样的小菜鸟们一步步的成长起来。那么,下面就不废话了,直接进入今天的主题。python

配置文件做为一种可读性很好的格式,很是适用于存储程序中的配置数据。 在每一个配置文件中,配置数据会被分组(好比“config”和 “cmd”)。 每一个分组在其中指定对应的各个变量值。以下:app

#  定义config分组
[config]
platformName=Android
appPackage=com.romwe
appActivity=com.romwe.SplashActivity

#  定义cmd分组
[cmd]
viewPhone=adb devices
startServer=adb start-server
stopServer=adb kill-server

#  定义log分组
[log]
log_error=true

基本的读取操做:框架

  • -read(filename)               直接读取文件内容
  • -sections()                      获得全部的section,并以列表的形式返回
  • -options(section)            获得该section的全部option
  • -items(section)                获得该section的全部键值对
  • -get(section,option)        获得section中option的值,返回为string类型
  • -getint(section,option)    获得section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

在对配置文件进行读写操做前,咱们须要先进行如下两个操做:函数

一、实例化ConfigParser对象:学习

#  实例化configParser对象
cf = configparser.ConfigParser()

二、读取配置文件测试

#  读取config.ini文件
cf.read(config.ini)

而后进行配置文件的读取操做。spa

以get为例,示例代码以下:code

#  定义方法,获取config分组下指定name的值
def getConfigValue(self, name):
    value = self.cf.get("config", name)
    return value
#  定义方法,获取cmd分组下指定name的值
def getCmdValue(self, name):
    value = self.cf.get("cmd", name)
    return value

经过get(section, option)方法,能够获取指定分组下指定名称的值,其余方法相似,可参照着尝试。orm

基本的写入操做:server

  • -write(fp)  将config对象写入至某个 .init 格式的文件  Write an .ini-format representation of the configuration state.
  • -add_section(section)   添加一个新的section
  • -set( section, option, value   对section中的option进行设置,须要调用write将内容写入配置文件
  • -remove_section(section)  删除某个 section
  • -remove_option(section, option) 

以set(section, option, value)为例,示例代码以下:

#  定义方法,修改config分组下指定name的值value
def setConfigValue(self, name, value):
    cfg = self.cf.set("config", name, value)
    fp = open(r'config.ini', 'w')
    cfg.write(fp)

其余方法能够自行尝试。

配置文件中的名字是不区分大小写的,以下两个是等价的:

#  不区分大小写,如下两个等价,都获取appActivity的值
self.cf.get("config", "appActivity")
self.cf.get("config", "APPACTIVITY")

在解析时,getboolean()方法查找任何可行的值,例如如下几个都是等价的:

#  如下取得的值都是等价的为ture
[log]
log_error=true
log_error=TRUE
log_error=1
log_error=yes

以上就是我初次学习的一点记录,若有错误的地方,但愿你们慷慨指出,我会及时改正,若是本篇对你有些帮助,但愿给我点个赞哦!接下来我会继续python的学习道路,但愿你们于我同行。

相关文章
相关标签/搜索