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

yipeiwu_com6年前Python基础

本文实例讲述了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面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

python实现反转部分单向链表

题目: 给定一个单链表的头指针 head, 以及两个整数 a 和 b,在单链表中反转 linked_list[a-b] 的结点,然后返回整个链表的头指针。 例如: 单链表[100...

pd.DataFrame统计各列数值多少的实例

如下所示: .count() #非空元素计算 .min() a #最小值 .max() #最大值 .idxmin() #最小值的位置,类似于R中的which.min函...

Python中title()方法的使用简介

 title()方法返回所有单词的第一个字符大写的字符串的一个副本。 语法 以下是title()方法的语法: str.title(); 参数  &nb...

深入讨论Python函数的参数的默认值所引发的问题的原因

本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 陷阱重现 我们就用实际的举例来演示我们今天所要讨论的主要内容。 下面一段代码定义了一个...

Django 路由层URLconf的实现

分组 分组的目的:让服务端获得url中的具体数据,通过分组,把需要的数据按函数传参的方式传递给服务器后台 1-无名分组 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号 #...