Python使用ConfigParser模块操作配置文件的方法


Posted in Python onJune 29, 2018

本文实例讲述了Python使用ConfigParser模块操作配置文件的方法。分享给大家供大家参考,具体如下:

一、简介

用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser

二、配置文件格式

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no

三、创建配置文件

import configparser
# 生成一个处理对象
config = configparser.ConfigParser()
#默认配置
config["DEFAULT"] = {'ServerAliveInterval': '45',
           'Compression': 'yes',
           'CompressionLevel': '9'}
#生成其他的配置组
config['bitbucket.org'] = {}
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com']
topsecret['Host Port'] = '50022' # mutates the parser
topsecret['ForwardX11'] = 'no' # same here
config['DEFAULT']['ForwardX11'] = 'yes'
#写入配置文件
with open('example.ini', 'w') as configfile:
  config.write(configfile)

四、读取配置文件

1、读取节点信息

import configparser
config = configparser.ConfigParser()
config.read('example.ini')
# 读取默认配置节点信息
print(config.defaults())
#读取其他节点
print(config.sections())

输出

OrderedDict([('compression', 'yes'), ('serveraliveinterval', '45'), ('compressionlevel', '9'), ('forwardx11', 'yes')])
['bitbucket.org', 'topsecret.server.com']

2、判读配置节点名是否存在

print('ssss' in config)
print('bitbucket.org' in config)

输出

False
True

3、读取配置节点内的信息

print(config['bitbucket.org']['user'])

输出

hg

4.循环读取配置节点全部信息

for key in config['bitbucket.org']:
  print(key, ':', config['bitbucket.org'][key])

输出

user : hg
compression : yes
serveraliveinterval : 45
compressionlevel : 9
forwardx11 : yes

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中使用logging模块代替print(logging简明指南)
Jul 09 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
linux下python使用sendmail发送邮件
May 22 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python流行ORM框架sqlalchemy安装与使用教程
Jun 04 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
Django CSRF认证的几种解决方案
Mar 03 Python
python logging模块的使用
Sep 07 Python
Python Socket多线程并发原理及实现
Dec 11 Python
python缺失值的解决方法总结
Jun 09 Python
python计算列表内各元素的个数实例
Jun 29 #Python
python判断设备是否联网的方法
Jun 29 #Python
python3 对list中每个元素进行处理的方法
Jun 29 #Python
python对list中的每个元素进行某种操作的方法
Jun 29 #Python
Python中交换两个元素的实现方法
Jun 29 #Python
python3中zip()函数使用详解
Jun 29 #Python
对python list 遍历删除的正确方法详解
Jun 29 #Python
You might like
php获取POST数据的三种方法实例详解
2016/12/20 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
python optparse模块使用实例
2015/04/09 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python调用JavaScript代码的方法
2020/10/27 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
大学毕业生自我鉴定
2013/11/05 职场文书
数学专业推荐信范文
2013/11/21 职场文书
大学运动会通讯稿
2014/01/28 职场文书
前处理班长职位说明书
2014/03/01 职场文书
目标责任书范文
2014/04/14 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
Nginx缓存设置案例详解
2021/09/15 Servers