day23---configparser模块

configparser模块是用来操作配置文件的

如以下配置文件

# 注释1
; 注释2

[section1]
k1 = v1
k2:v2
user=egon
age=18
is_admin=true
salary=31

[section2]
k1 = v1

configparser模块的使用

(1)读取操作

from configparser import ConfigParser

config = ConfigParser()
config.read('test.ini')

# 1.获取sections
print(config.sections())   #['section1', 'section2']

## 2.获取某一sections下的所有的option
print(config.options('section1'))    #['k1', 'k2', 'user', 'age', 'is_admin', 'salary']

# 3.获取items
print(config.items('section1'))     # [('k1', 'v1'), ('k2', 'v2'), ('user', 'egon'), ('age', '18'), ('is_admin', 'true'),
('salary', '31')] # 4.获取某个section单独的元素值 print(config.get('section1','user')) # egon <class 'str'> print(config.getint('section1','age')) # 18 <class 'int'> print(config.getboolean('section1','is_admin')) ## True <class 'bool'> print(config.getfloat('section1','salary')) ## 31.0 <class 'float'>

(2)改写操作

import configparser

config=configparser.ConfigParser()
config.read('a.cfg',encoding='utf-8')


#删除整个标题section2
config.remove_section('section2')

#删除标题section1下的某个k1和k2
config.remove_option('section1','k1')
config.remove_option('section1','k2')

#判断是否存在某个标题
print(config.has_section('section1'))

#判断标题section1下是否有user
print(config.has_option('section1',''))


#添加一个标题
config.add_section('egon')

#在标题egon下添加name=egon,age=18的配置
config.set('egon','name','egon')
config.set('egon','age',18) #报错,必须是字符串


#最后将修改的内容写入文件,完成最终的修改
config.write(open('a.cfg','w'))
day23---configparser模块
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)
添加一个ini文档

 

上一篇:Flume2-高可用+拦截器


下一篇:vue3: 动态修改favicon(网站的ico 图标)(vue@3.2.26)