java configparser_configparser模块(示例代码)

configparser --configparser模块中的ConfigParser类用来操作ini类型的配置文件

ini配置文件格式

[Section1 Name] ;节点

KeyName1=value1 ;参数(键值对)

KeyName2=value2

...

[Section2 Name]

KeyName21=value21

KeyName22=value22

;注释使用(;)

基本使用

config.ini文件:

[Section1 Name]

KeyName1=value1

KeyName2=value2

[Section2 Name]

KeyName21=value21

KeyName22=value22

1、读取

from configparser import ConfigParser

filename = ‘config.ini‘

config.read(filename)

# 获取节点列表

sections_list = config.sections()

print(‘节点列表:

%s‘% sections_list)

# 获取某一节点下所有的键

optinos_list = config.options(sections_list[0])

print(‘键列表:

%s‘% optinos_list)

#获取某一节点下所有的键值对

item_list = config.items(sections_list[0])

print(‘%s下的所有键值对列表:

%s‘% (sections_list[0],item_list))

#获取具体参数键值(某一节点下某一参数的具体值)

val1 = config.get(sections_list[0],optinos_list[0])

print(‘%s节点下%s的值为:

%s‘% (sections_list[0], optinos_list[0], val1))

# config.getint(‘section‘,option‘) option的值必须为整形

# config.getfloat(‘section‘,option‘) option的值必须为浮点型

# config.getboolean(‘section‘,option‘) option的值必须为布尔值

结果:

节点列表:

[‘Section1 Name‘, ‘Section2 Name‘]

键列表:

[‘keyname1‘, ‘keyname2‘]

Section1 Name下的所有键值对列表:

[(‘keyname1‘, ‘value1‘), (‘keyname2‘, ‘value2‘)]

Section1 Name节点下keyname1的值为:

value1

2、增删改

#!/usr/bin/python3

# -*- config:utf-8 -*-

import sys,os

from configparser import ConfigParser

filename = ‘config.ini‘

config = ConfigParser()

config.read(filename)

‘‘‘

增删改

‘‘‘

# 添加一个节点Section3 Name

config.add_section(‘Section3 Name‘)

# 在节点Section3 Name下添加参数

config.set(‘Section3 Name‘, ‘keyname31‘, ‘value21‘)

# 判断节点Section3 Name是否存在

if config.has_section(‘Section3 Name‘):

print(‘%s节点存在‘% ‘Section3 Name‘)

else:

print(‘%s节点不存在‘% ‘Section3 Name‘)

# 判断节点Section3 Name下是否存在参数keyname31

if config.has_option(‘Section3 Name‘, ‘keyname31‘):

print(‘%s节点存在参数%s‘% (‘Section3 Name‘,‘keyname31‘))

else:

print(‘%s节点不存在参数%s‘% (‘Section3 Name‘,‘keyname31‘))

# 删除Section3 Name节点下的keyname31

config.remove_option(‘Section3 Name‘,‘keyname31‘)

# 删除节点Section3 Name

config.remove_section(‘Section3 Name‘)

# 将修改点写入

config.write(open(filename,‘w‘))

结果:

Section3 Name节点存在

Section3 Name节点存在参数keyname31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值