zoukankan      html  css  js  c++  java
  • python读取配置文件

    转载:https://my.oschina.net/u/3041656/blog/793467

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

    #定义congig分组

    [congig]

    platformName=Android

    appPackage=com.remwe

    appActivity=com.remove.SplashActivity

    #定义cmd分组

    [cmd]

    viewPhone=adb devices

    startServer=adb start-server

    stopServer=adb kill-server

    #定义log分组

    [log]

    log_error=true

    基本的读取操作:

    1)-read(filename)   直接读取文件内容

    2)sections()     得到该section,并以列表的形式返回

    3)options(section) 得到该section的所有option

    4)-items(section)  得到该section的所有键值对

    5)-get(section,option)  得到section中option的值,返回为string类型

    6)-getint(section,option)  得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat()函数

    对配置文件进行操作前。我们需要进行以下两个操作:

    1、实例化ConfigParser对象

    #实例化configParser对象

    cf=config.ConfigParser()

    2、读取配置文件

    #读取config.ini文件

    cf.read(config.ini)

    然后进行配置文件的读取操作

    以get为例,实例代码如下:

    #定义方法,获取config分组下指定name的值

    def getConfigVValue(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)方法,可以获取指定分组下指定名称的值,其他方法类似,可参照着尝试

    基本写入操作:

    1)-write(fp)将config对象写入至某个.ini格式的文件

    2)-add_section(section)添加一个新的section

    3)-set(section,option,value) 对section中的option进行配置,需要调用write将内容写入配置文件

    4)-remove_section(section)删除某个section

    5)-remove_option(section,option) 删除某个section下的option

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

    #定义方法,修改config分组下指定name的值value

    def setConfigValue(self,name,value):

        cfg=self.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=ture

    log_error=TURE

    log_error=1

    log_error=yes

  • 相关阅读:
    字体图标
    css精灵图
    css定位
    浮动的清除
    浮动、版心布局
    css 盒子模型
    css三大特性、行高属性、权重
    JSP实现上传文件(或图片)到MySQL
    MySQL 错误. Packet for query is too large (***> 4194304). You can change......
    使用Servlet3.0提供的API实现文件上传到指定位置
  • 原文地址:https://www.cnblogs.com/yuany66/p/12197320.html
Copyright © 2011-2022 走看看