python操作cfg配置文件方式

yipeiwu_com6年前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段下的所有选项等等。

这篇python操作cfg配置文件方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 快速实现CLI 应用程序的脚手架

Python 快速实现CLI 应用程序的脚手架

今天跟大家分享一下如何快速实现一个Python CLI应用程序的脚手架,之所以会做这个是因为当时需要做一个运维的小工具希望用命令行的方式来使用,但是搜遍网上很多资料都没有系统讲解从开发、...

python中as用法实例分析

本文实例讲述了python中as用法。分享给大家供大家参考。具体分析如下: import some # some 为一个模组 如果想要改变被导入模组在当前模组中的名称,而不是sys...

用python删除java文件头上版权信息的方法

在使用他人代码时,为不保留文件头部版权信息,需要一个个删掉,费时费力, 写了个脚本,简单清除掉目录下所有的文件的头部版权信息。 # -*- coding: utf8 -*- '''...

python如何实现不可变字典inmutabledict

这篇文章主要介绍了python如何实现不可变字典inmutabledict,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 关于在pyt...

基于MSELoss()与CrossEntropyLoss()的区别详解

基于MSELoss()与CrossEntropyLoss()的区别详解

基于pytorch来讲 MSELoss()多用于回归问题,也可以用于one_hotted编码形式, CrossEntropyLoss()名字为交叉熵损失函数,不用于one_hotted编...