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中的类学习笔记
Sep 23 Python
跟老齐学Python之Import 模块
Oct 13 Python
Python fileinput模块使用实例
May 28 Python
Python批量查询域名是否被注册过
Jun 21 Python
深入理解Django自定义信号(signals)
Oct 15 Python
Python中创建二维数组
Oct 17 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
PyTorch的Debug指南
May 07 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
咖啡与水的关系
2021/03/03 冲泡冲煮
JavaScript 私有成员分析
2009/01/13 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
js导出txt示例代码
2014/01/14 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue实现打印功能的两种方法
2018/09/07 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
pybind11在Windows下的使用教程
2019/07/04 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
购房协议书
2014/04/11 职场文书
ktv好的活动方案
2014/08/15 职场文书
消费者理赔投诉书
2015/07/02 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
PHP基本语法
2021/03/31 PHP
JS继承最简单的理解方式
2021/03/31 Javascript
Python爬取某拍短视频
2021/06/11 Python
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android