本文作者:念宗

常用模块之--configparser

念宗 6年前 ( 2018-11-20 ) 3982 抢沙发
摘要: configparser.ini配置文件内容:[DEFAULT]ServerAliveInterval = 45Compression =&nbs...
configparser.ini配置文件内容:
[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = hg

[topsecret.server.com]
Port = 50022
ForwardX11 = no

 

# _*_ coding:utf-8 _*_
# Author: daihaijun
import configparser
config_file = "configparser.ini"
# 创建对象
config = configparser.ConfigParser()
# 读取配置文件
config.read(config_file)

"""查询"""
# 获取所有的section,包括DEFAULT
print("All sections:",list(config.keys()))
sec_all = list(config.keys())
# 获取配置文件的sections name(不包括默认section:default)
sec_list = config.sections()
print("sections excluding DEFAULT:",sec_list)
# 获取DEFAULT section的内容:以字典形式输出所有items
print(dict(config.defaults()))

# 获取key的方法:
print(list(config[sec_list[0]]))    # 除了输出bitbucket.org这个section自己的key之外,还会输出所有的全局key(DEFAULT中的key)
print(config.options(sec_list[0]))  # 同上,其实就是调用的上面list函数

# 获取key/value的方法
print(dict(config[sec_list[0]]))    # 输出key,value

# 单独获取某个key的value的方法:
config['topsecret.server.com']['port']
config.options('topsecret.server.com','port')

"""通过上面一系列方法就可以读取到配置文件里的任何内容了,当然还有其他的方法比如config.get"""

# 判断某个section中是否存在某个key: 不区分大小写
if "user" in config[sec_list[0]]:
   print("name in bitbucket.org section")

"""  增删改操作  """
# 1. 删除整个section(包括所属items)
config.remove_section('topsecret.server.com')     # 删除section 并返回状态(true, false)
config.write(open(config_file,'w'))     # 执行写入操作文件正式生效
# 2. add section
config.has_section('topsecret.server.com')      # 判断是否存在该section
config.add_section('topsecret.server.com')      # add section
config.write(open(config_file,'w'))

# 3. 增加或者修改某个key:不存在则添加,已存在则修改其value.
config.set('topsecret.server.com','Port','50022')
config.write(open(config_file,'w'))

# 4. 删除某个key
config.has_option('topsecret.server.com','port')    # 判断key是否存在
config.remove_option('topsecret.server.com','port')
config.write(open(config_file,'w'))


文章版权及转载声明:

作者:念宗本文地址:http://pyops.net/?id=29发布于 6年前 ( 2018-11-20 )
文章转载或复制请以超链接形式并注明出处运维之道

分享到: 网站分享代码

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,3982人围观)参与讨论

还没有评论,来说两句吧...