python操作cfg配置文件

2023-01-31 05:01:05 python 操作 配置文件


*.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段下的所有选项等等。


相关文章