• configparser配置文件处理


    创建一个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)
    ---------------------------------------------------------
    读取configparser的内容:

    import configparser
    config = configparser.ConfigParser()
    print(config.sections()) #没有read之前是空的列表
    config.read('example.ini')
    print(config.sections()) #打印出非DEFAULT的项
    print('bitbucket.org' in config)
    print('bytebong.com' in config)
    print(config['bitbucket.org']['User'])
    print(config['DEFAULT']['Compression'])
    topsecret = config['topsecret.server.com']
    print(topsecret['FOrwardX11']) #部分中的键不区分大小写并以小写形式存储
    print(topsecret['host port'])
    for key in config['bitbucket.org']: #注意:把DEFAULT的KEY也打印出来了
    print(key)
    print(config['bitbucket.org']['ForwardX11'])
    ---------------------------------------------------------
    修改、增加configparser的某些项:

    #使用ConfigParser方法修改,增加
    import configparser
    config = configparser.ConfigParser()
    config.read("example.ini") #读到内存中
    config.set('DEFAULT','serveraliveinterval','99999') #修改值为99999;value需要是str
    config.add_section('Section1') #增加一个Section1项
    config.set('Section1', 'an_int', '15') #value需要是str
    config.set('Section1', 'foo', '%(bar)s is %(baz)s!')
    config.write(open('example.ini', "w"))

    #使用RawConfigParser方法修改,增加
    import configparser
    config = configparser.RawConfigParser()
    config.read("example.ini") #读到内存中
    config.set('DEFAULT','serveraliveinterval','8888') #修改值为8888
    config.add_section('Section1') #增加一个Section1项
    config.set('Section1', 'an_int', 15) #value可以不是字符串
    config.set('Section1', 'foo', '%(bar)s is %(baz)s!')
    #将配置文件写入到example.ini中
    with open('example.ini', 'w') as configfile:
    config.write(configfile)


    ---------------------------------------------------------
    删除configparser的某些项:

    import configparser
    config = configparser.ConfigParser()
    config.read("example.ini") #读到内存中
    sec = config.remove_section('bitbucket.org') #删除bitbucket.org
    config.write(open('example.ini', "w")) #从内存中写入到文件


    参考:
    https://www.cnblogs.com/alex3714/articles/5161349.html
    https://docs.python.org/3/library/configparser.html?highlight=configparser



  • 相关阅读:
    有效的完全平方数
    除自身以外数组的乘积leetcode
    三个数的最大乘积 leetcode
    不同的二叉搜索树
    fenzhi
    leetcode二分查找之大于给定元素的最小元素744. Find Smallest Letter Greater Than Target (Easy)
    leetcode二分查找之求开方
    总结U-Net网络及他的变体
    451. Sort Characters By Frequency (Medium) 按照字符出现次数对字符串排序(leetcode排序)
    记一次 PHP调用Java Webservice
  • 原文地址:https://www.cnblogs.com/lighthouse/p/9590740.html
Copyright © 2020-2023  润新知