Python3的configparser模块的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。不准各种形式的复制及盗图 https://blog.csdn.net/qq_26816591/article/details/88570045
import configparser

config = configparser.ConfigParser()

# 字典模式生成配置文件
# 第一个section
config['DEFAULT'] = {
    'A': 'abc',
    'B': '123',  # 数字也要写成string类型
    'C': 'hello'}

# 第二个section
config['Head'] = {'H1': '100', 'H2': '200', 'H3': '300'}

# 第三个section
config['www'] = {'W1': '199', 'W2': '299'}

# 生成配置文件 并写入
with open('example.ini', 'w') as configfile:
    config.write(configfile)

# 读取配置文件
config.read('example.ini', encoding='utf8')

# 打印section时,不会打印默认DEFAULTS,以list形式打印
print('config.sections():', config.sections())

# 打印defaults 时 会以键值对,元组形式打印
print('config.defaults():', config.defaults())

# 判断section是否存在
print('www' in config)  # 存在 True
print('mmm' in config)  # 不存在 False

# 添加 section
config.add_section('T')
print(config.sections())

# 打印[指定section][指定键名]
print(config['Head']['H2'])

# 打印某一个非default section时,会将默认内容一并打印
for key in config['Head']:
    print(key)

# set() 修改 键值 指定section,指定键名,修改成的值
config.set('www', 'W2', '2000')

# 删除section
config.remove_section('T')
print(config.sections())

# 删除键 option
config.remove_option('www', 'W1')  # 注意 如果后续没有重新写入文件操作,该操作不会真正成功

# 只能新建 或是 覆盖原文件  不能直接修改
config.remove_section('www')  # 注意 如果后续没有重新写入文件操作,该操作不会真正成功

# 重新写入操作,也叫持久化操作 可以把下面注释掉看看配置文件 上面的删除操作不会成功
with open('example.ini', 'w') as configfile:
    config.write(configfile)

要点:

  •  config['section']={dict}  ,dict字典赋值
  • 生成配置文件,类似文件操作。with open('filename','w') as configfile: config.write(configfile)
  • 利用config.section() 获取section时,以list形式打印,不会打印默认DEFAULTS
  • 利用config.defaults() 获取defaults时,会以键值对,元组形式打印
  • 判断section是否存在:'section' in config
  • 添加section:config.add_section('section_name')
  • 打印某section下的键的值:config['section_name']['key']
  • 修改某section下的键的值:config.set('section_name','key','value')
  • 删除某section:config.remove_section('section_name')
  • 删除某section下的某个键:confg.remove_option('section_name','key')
  • 持久化操作,就是文件的写入,在完成配置文件的增删改后,重新写入。with open('filename','w') as configfile: config.write(configfile)

猜你喜欢

转载自blog.csdn.net/qq_26816591/article/details/88570045