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

  • 相关阅读:
    数据移除的循环
    C#窗体多语言切换(简繁)
    C# 文字转换最简单的方法
    使用CodeDOM动态编译一个字符串表达式
    C#设置WebBrowser默认浏览器
    Image和字节数组互转
    苹果手机的SB系列(8)为什么没有短信全部删除?
    循环删除外键约束
    腾讯云COS自定义域名,支持https,CDN,私有访问
    腾讯云COS请求签名C#版
  • 原文地址:https://www.cnblogs.com/yuany66/p/12197320.html
Copyright © 2011-2022 走看看