python configparser模块

  在python3中使用configparser,configparser模块用于操作配置文件,包含一个或多个结(selection),每个节可以有多个参数(键=值)

  config文件的形式

[section1]
k1 = v1
k2:v2

[section2]
k1 = v1

  创建一个config.ini文件

[ssh0]
host = 10.100.46.101
port = 22
usr = root
pwd = 123456
timeout = 1.0

  1.  获取所有的节点

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')
ret = config.sections()   
print(ret)

  [root@localhost 0406]# python3 configparser_test.py
  ['ssh0']

  2.  获取指定节点下的所有的键值对

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')
ret = config.items('ssh0')
print(ret)  

  [root@localhost 0406]# python3 configparser_test.py
  [('host', '10.100.46.101'), ('port', '22'), ('usr', 'root'), ('pwd', '123456'), ('timeout', '1.0')]

  3.  获取指定节点下所有的键

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')
ret = config.options('ssh0')
print(ret) 

  [root@localhost 0406]# python3 configparser_test.py
  ['host', 'port', 'usr', 'pwd', 'timeout']

  4.  获取指定节点下指定key的值

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')
ret1 = config.get('ssh0','host')
ret2 = config.getint('ssh0','port')
ret3 = config.getfloat('ssh0','timeout')
print(ret1,ret2,ret3)  

  [root@localhost 0406]# python3 configparser_test.py
  10.100.46.101 22 1.0

  5.  检查,添加,删除节点

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')

has_sec = config.has_section('ssh0')
print(has_sec)   #如果存在则返回true

#config.add_section('sec_1')      #添加节点
#config.write(open('config.ini','w'))

config.remove_section('sec_1')    #删除节点
config.write(open('config.ini','w'))

  6.  检查,删除,设置指定组内的键值对

import configparser
config = configparser.ConfigParser()
config.read('config.ini',encoding='utf-8')

has_sec = config.has_section('ssh0')
print(has_sec)   #如果存在则返回true

config.remove_option('ssh0','timeout')    #移除ssh节点中timeout键值对
config.write(open('config.ini','w'))

config.set('ssh0','test','123')       #添加一个test=123的键值对
config.write(open('config.ini','w'))
原文地址:https://www.cnblogs.com/homle/p/8728154.html