python操作cfg配置文件方式


Posted in Python onDecember 22, 2019

*.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求列表交集的方法汇总
Nov 10 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python随机取list中的元素方法
Apr 08 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
Django中的ajax请求
Oct 19 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Django通过json格式收集主机信息
May 29 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
python学习之panda数据分析核心支持库
May 07 Python
python实现局域网内实时通信代码
Dec 22 #Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 #Python
Python调用scp向服务器上传文件示例
Dec 22 #Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 #Python
python3 动态模块导入与全局变量使用实例
Dec 22 #Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 #Python
Python代码生成视频的缩略图的实例讲解
Dec 22 #Python
You might like
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
浅析PHP水印技术
2007/02/14 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
Python中的默认参数详解
2015/06/24 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
Python代码太长换行的实现
2019/07/05 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
物业公司的岗位任命书
2014/06/06 职场文书
员工生日活动方案
2014/08/24 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
唐山大地震的观后感
2015/06/05 职场文书
新员工入职感言范文!
2019/07/04 职场文书
python实现自动化群控的步骤
2021/04/11 Python
Python中使用subprocess库创建附加进程
2021/05/11 Python
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
介绍一下28个JS常用数组方法
2022/05/06 Javascript