python操作cfg配置文件

发布时间:2019-09-10 08:56:01编辑:auto阅读(2355)

    

    *.cfg文件一般是程序运行的配置文件,python为读写常见配置文件提供了一个ConfigParser模块,所以在python中解析配置文件相当简单,下面就举例说明一下具体的操作方法。

     

    写文件代码:

    # -* - coding: UTF-8 -* -
    import os
    import ConfigParser
    
    CONFIG_FILE = "Config.cfg"
    
    host = "127.0.0.1"
    
    port = "5432"
    
    name = "DATABASE_NAME"
    
    username = "postgres"
    
    password = "postgres"
    
    if __name__ == "__main__":
    
             conf = ConfigParser.ConfigParser()
    
             cfgfile = open(CONFIG_FILE,'w')
    
             conf.add_section("DB_Config") # 在配置文件中增加一个段
    
             # 第一个参数是段名,第二个参数是选项名,第三个参数是选项对应的值
    
             conf.set("DB_Config", "DATABASE_HOST", host) 
    
             conf.set("DB_Config", "DATABASE_PORT", port)
    
             conf.set("DB_Config", "DATABASE_NAME", name)
    
             conf.set("DB_Config", "DATABASE_USERNAME", username)
    
             conf.set("DB_Config", "DATABASE_PASSWORD", password)
    
             conf.add_section("FL_Config")
    
             # 将conf对象中的数据写入到文件中
    
             conf.write(cfgfile)
    
             cfgfile.close()
    


    生成的配置文件Config.cfg如下:

    [DB_Config]
    
    database_host = 127.0.0.1
    
    database_port = 5432
    
    database_name = DATABASE_NAME
    
    database_username = postgres
    
    database_password = postgres
    
    
    [FL_Config]
    


     

    读文件代码:


    # -* - coding: UTF-8 -* -
    
    import os
    
    import ConfigParser
    
    CONFIG_FILE = "Config.cfg"
    
    def main():
    
             if os.path.exists( os.path.join( os.getcwd(),CONFIG_FILE ) ):
    
                       config = ConfigParser.ConfigParser()
    
                       config.read(CONFIG_FILE)
    
                       #第一个参数指定要读取的段名,第二个是要读取的选项名
    
                       host = config.get("DB_Config", "DATABASE_HOST") 
    
                       port = config.get("DB_Config", "DATABASE_PORT")
    
                       name = config.get("DB_Config", "DATABASE_NAME")
    
                       username = config.get("DB_Config", "DATABASE_USERNAME")
    
                       password = config.get("DB_Config", "DATABASE_PASSWORD")
    
                       print host, port, name, username, password
    
    if __name__ == '__main__':
    
             main()
    

     

    输出结果:127.0.0.1 5432 DATABASE_NAME postgres postgres

     

    以上就是python读写cfg配置文件的简单操作,当然,也可以利用config.sections()来获取所有的段,

    config. options("DB_Config")来获取DB_Config段下的所有选项等等。


关键字