zoukankan      html  css  js  c++  java
  • configparser模块 配置文件的解析操作

    # configparser模块 配置文件的解析操作
    import configparser
    
    '''
    一个常见的配置文件
    [DEFAULT]
    ServerAliveInterval = 45
    Compression = yes
    CompressionLevel = 9
    ForwardX11 = yes
      
    [bitbucket.org]
    User = hg
      
    [topsecret.server.com]
    Port = 50022
    ForwardX11 = no
    '''
    
    # 生成上面的配置文件
    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)
    
    # 对配置文件的增删改查
    
    config = configparser.ConfigParser()
    
    # 查询 查询内容不区分大小写
    config.read('example.ini')
    
    print(config.sections())  # ['bitbucket.org', 'topsecret.server.com']
    
    print('bytebong.com' in config)  # False
    
    print(config['bitbucket.org']['User'])  # hg
    
    print(config['DEFAULT']['Compression'])  # yes
    
    print(config['topsecret.server.com']['ForwardX11'])  # no
    
    # 遍历 注意[default]中的信息虽然没有在下例中遍历,但是它也会显示
    for key in config['bitbucket.org']:
        print(key)
    
    # user
    # serveraliveinterval
    # compression
    # compressionlevel
    # forwardx11
    
    
    print(
        config.options('bitbucket.org'))  # ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
    print(config.items(
        'bitbucket.org'))  # [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
    
    print(config.get('bitbucket.org', 'compression'))  # yes
    
    # 删,改,增(config.write(open('i.cfg', "w")))
    
    
    config.add_section('yuan')  # 新加一个块
    config.set('yuan', 'k1', '11111')   # 在块中增加一个键值对
    
    config.remove_section('topsecret.server.com') # 删除一个块(同时删除块下所有的内容)
    config.remove_option('bitbucket.org', 'user') # 删除一个块中user的键值对
    
    config.write(open('i.cfg', "w"))  # 最后一步必须将删,改,增写入到一个文件中(可与原文件同名,覆盖原文件)
  • 相关阅读:
    Linux初识(命令, 文件, 系统管理)
    【JavaScript学习整理】DOM对象(location history screen navigator)
    Charles进行HTTPS抓包(iOS为例)
    【JavaScript学习整理】js基础
    【css学习整理】浮动,清除
    【css学习整理】css基础(样式,语法,选择器)
    【html学习整理】meta,img,表格,表单
    【LeetCode】无重复字符的最长子串
    【html学习整理】常用标签
    【LeetCode】种花问题
  • 原文地址:https://www.cnblogs.com/dangrui0725/p/9451116.html
Copyright © 2011-2022 走看看