zoukankan      html  css  js  c++  java
  • 标准库ConfigParser模块

    用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser。

    来看一个好多软件的常见文档格式如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [DEFAULT]
    ServerAliveInterval = 45
    Compression = yes
    CompressionLevel = 9
    ForwardX11 = yes
     
    [bitbucket.org]
    User = hg
     
    [topsecret.server.com]
    Port = 50022
    ForwardX11 = no
     

    如果想用python生成一个这样的文档怎么做呢?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    import configparser  #in Python 2.x 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['topsecret.server.com']['Host Port']='50022'
    config['topsecret.server.com']['ForwardX11']='no'

    config['DEFAULT']['ForwardX11'] = 'yes' #这边是对上面的DEFAULT追加了一条记录

    with open('example.ini', 'w') as configfile:
    config.write(configfile)

    写完了还可以再读出来哈。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    >>> import configparser
    >>> config = configparser.ConfigParser()
    >>> config.sections()
    []
    >>> config.read('example.ini')
    ['example.ini']
    >>> config.sections()
    ['bitbucket.org''topsecret.server.com']
    >>> 'bitbucket.org' in config
    True
    >>> 'bytebong.com' in config
    False
    >>> config['bitbucket.org']['User']
    'hg'
    >>> config['DEFAULT']['Compression']
    'yes'
    >>> topsecret = config['topsecret.server.com']
    >>> topsecret['ForwardX11']
    'no'
    >>> topsecret['Host Port']
    '50022'
    >>> for key in config['bitbucket.org']: print(key)
    ...
    user
    compressionlevel
    serveraliveinterval
    compression
    forwardx11
    >>> config['bitbucket.org']['ForwardX11']
    'yes'

    configparser增删改查语法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    [section1]
    k1 = v1
    k2:v2
      
    [section2]
    k1 = v1
    #以上为配置文件显示的结构
     
    import ConfigParser
      
    config = ConfigParser.ConfigParser()
    config.read('i.cfg')
      
    # ########## 读 ##########
    #secs = config.sections()
    #print(secs)
    #options = config.options('group2')
    #print(options)
     
    #item_list = config.items('group2')
    #print(item_list)
      
    #val = config.get('group1','key')
    #val = config.getint('group1','key')
      
    # ########## 改写 ##########
    #sec = config.remove_section('group1')
    #config.write(open('i.cfg', "w"))
      
    #sec = config.has_section('wupeiqi')
    #sec = config.add_section('wupeiqi')
    #config.write(open('i.cfg', "w"))
      
      
    #config.set('group2','k1',11111)
    #config.write(open('i.cfg', "w"))
      
    #config.remove_option('group2','age')
    #config.write(open('i.cfg', "w"))
  • 相关阅读:
    SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)
    SpringCloud -创建统一的依赖管理
    Mysql、Oracle、SQLServer等数据库参考文档免费分享下载
    DevExpress的图形按钮菜单栏控件WindowsUIButtonPanel的布局、使用和设置按钮的点击事件
    Winform中设置ZedGraph鼠标滚轮缩放的灵敏度以及设置滚轮缩放的方式(鼠标焦点为中心还是图形中心点)
    Winform中设置多条Y轴时新增的Y轴刻度不显示问题解决
    Winforn中设置ZedGraoh的GraphPane恢复到初始比例大小
    Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
    Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置
    一、关于a标签伪类中的visited不起作用问题
  • 原文地址:https://www.cnblogs.com/zoe233/p/7130695.html
Copyright © 2011-2022 走看看