python操作cfg配置文件

来源:互联网 发布:sql distinct 所有字段 编辑:程序博客网 时间:2024/06/18 07:55


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

 

写文件代码:

# -* - coding: UTF-8 -* -import osimport ConfigParserCONFIG_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.1database_port = 5432database_name = DATABASE_NAMEdatabase_username = postgresdatabase_password = postgres[FL_Config]


 

读文件代码:


# -* - coding: UTF-8 -* -import osimport ConfigParserCONFIG_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, passwordif __name__ == '__main__':         main()

 

输出结果:127.0.0.1 5432 DATABASE_NAME postgres postgres

 

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

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


0 0
原创粉丝点击