zoukankan      html  css  js  c++  java
  • python常用模块(3)

    ConfigParser模块学习

    ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用再程序中硬编码,可以是你的程序变得灵活起来。
    注意:在python 3 中ConfigParser模块名已更名为configparser

    读取配置文件

    read(filename) 直接读取ini文件内容sections() 得到所有的section,并以列表的形式返回

    options(section) 得到该section的所有option

    items(section) 得到该section的所有键值对

    get(section,option) 得到section中option的值,返回为string类型

    getint(section,option) 得到section中option的值,返回为int类型

    getfloat(section,option)得到section中option的值,返回为float类型

    getboolean(section, option)得到section中option的值,返回为boolean类型

    写入配置文件

    add_section(section) 添加一个新的section

    has_section(section) 判断是否有section

    set( section, option, value) 对section中的option进行设置

    remove_setion(section)删除一个section

    remove_option(section, option)删除section中的option

    write(fileobject)将内容写入配置文件。

    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'
    topsecret['ForwardXll'] = 'no'
    config['DEFAULT']['ForwardXll'] = 'yes'
    
    with open('example.ini','w') as configfile:
        config.write(configfile)
    [DEFAULT]
    serveraliveinterval = 45
    compression = yes
    compressionlevel = 9
    forwardxll = yes

    [bitbucket.org]
    user = hg

    [topsecret.server.com]
    host port = 50022
    forwardxll = no

    配置文件config.ini如下:

        [user]
        username = tom
        password = ***
        email = test@host.com
    
        [book]
        bookname = python
        bookprice = 25

    注意:也可以使用:替换=

    程序:

        # -* - coding: UTF-8 -* -
        import ConfigParser
        import sys
    
        reload(sys)
        sys.setdefaultencoding("utf-8")
    
        #生成config对象
        conf = ConfigParser.ConfigParser()
        #用config对象读取配置文件
        conf.read("config.ini")
        #以列表形式返回所有的section
        sections = conf.sections()
        print 'sections:', sections   #sections: ['user', 'book']
        #得到指定section的所有option
        options = conf.options("user")
        print 'options:', options  #options: ['username', 'password', 'email']
        #得到指定section的所有键值对
        useritem = conf.items("user")
        print 'user:', useritem #user: [('username', 'tom'), ('password', '***'), ('email', 'test@host.com')]
        #指定section,option读取值
        str_val = conf.get("book", "bookname")
        int_val = conf.getint("book", "bookprice")
    
        print "value for book's bookname:", str_val   #value for book's bookname: python
        print "value for book's bookprice:", int_val   #value for book's bookprice: 25
    
        #写配置文件
        #更新指定section,option的值
        conf.set("book", "bookname", "python learning")
        #写入指定section增加新option和值
        conf.set("book", "bookpress", u"人民邮电出版社")
        #增加新的section
        conf.add_section('purchasecar')
        conf.set('purchasecar', 'count', '1')
        #写回配置文件
        conf.write(open("config.ini", "w"))



  • 相关阅读:
    Github基于Web的编辑器
    科技爱好者周刊(第 172 期):我们会死于气候灾难吗?
    走进京东618大促“产星”之路
    科技爱好者周刊(第 171 期):云服务流量有多贵?
    科技爱好者周刊(第 170 期):软件订阅制的胜利
    科技爱好者周刊(第 169 期):五菱汽车的产品设计
    在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)
    mac 更新到big sur 后,parallels虚拟机的一些问题:由于您尚未获得访问其中一些文件的授权,所以您不能恢复“Windows 10
    React/Vue 项目在 GitHub Pages 上部署时资源的路径问题
    科技爱好者周刊(第 168 期):游戏《底特律:变人》
  • 原文地址:https://www.cnblogs.com/MY0213/p/7775255.html
Copyright © 2011-2022 走看看