Python操作cfg配置文件方式

小鹿同学
小鹿同学
发布时间:2026-10-11 | 1人浏览过
原创

本文介绍如何使用Python内置的ConfigParser模块读写.cfg配置文件。通过示例演示如何创建包含多个段(Section)的配置文件,以及如何读取指定段下的选项值。文章涵盖写入配置、获取所有段名、读取特定选项及判断文件存在性等核心操作,帮助开发者快速掌握Python处理配置文件的方法。

使用ConfigParser读写.cfg文件

在Python中,处理配置文件通常使用内置的 ConfigParser 模块(Python 3中为 configparser)。该模块支持读取和写入类似Windows INI格式的配置文件。以下将分别介绍如何生成配置文件以及如何读取其中的内容。

1. 写入配置文件

首先,我们需要创建一个配置文件。通过实例化 ConfigParser 对象,可以添加不同的段(Section),并在段内设置键值对。最后将配置对象写入文件即可。

# -* - 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]

2. 读取配置文件

读取配置文件时,建议先检查文件是否存在。使用 config.read() 加载文件后,可以通过 config.get() 方法获取指定段和选项的值。此外,config.sections() 可获取所有段名,config.options("段名") 可获取指定段下的所有选项。

# -* - 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

关键操作总结

  • 获取所有段:使用 config.sections() 可以获取配置文件中所有的段名称列表。
  • 获取指定段选项:使用 config.options("DB_Config") 可以获取指定段(如 DB_Config)下的所有选项键名。
  • 读取特定值:使用 config.get("段名", "选项名") 获取具体的配置值。

以上就是Python操作cfg配置文件方式的详细内容,更多关于Python ConfigParser模块的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表