zoukankan      html  css  js  c++  java
  • Python语言的configparser模块便捷的读取配置文件内容

    配置文件是在写脚本过程中经常会用到的,所以读取配置文件的模块configparser非常重要但是很简单。

    首先我们的配置文件内容为:

     

    这样的配置文件,[]里面的内容叫section[]下面内容options可以使用configparser模块下的get方法获取具体值。

    import configparser

    #创建一个解析器

    config = configparser.ConfigParser()

    # 读取config的内容并解析

    config.read(‘config.ini’, encoding = ‘utf-8’)

    # 使用get方法获得配置文件内容,返回的内容都是str类型

    config.get(‘DATABASE’, ‘host’)

    config.get(‘path’, ‘db_path’)

    #如果想要获取int类型或者boolfloat类型,就在get的后面加intboolfloat

    config.getint(‘DATABASE’, ‘port’)

    示例代码:

    import os
    import codecs
    import configparser
    
    
    class ReadConfig:
        def __init__(self):
            with open(config_path) as fd:
                data = fd.read()
                # 判断data是否带BOM,如果带就删除
                if data[:3] == codecs.BOM_UTF8:
                    data = data[3:]
                    # 使用codecs.open打开文件,写入的时候更不容易出现编码问题,open方法只能写入str
                    with codecs.open("config.ini", "w") as file:
                        file.write(data)
            # 将配置文件分割成一块一块的字典形式
            self.cf = configparser.ConfigParser()
            self.cf.read("config.ini")
    
        def get_db(self, name):
            value = self.cf.get("DATABASE", name)
            return value

    不太常用的还有

    # 是否有某个选项

    config.has_option()  

    # 添加选项

    config.add_section(‘server’)   

    config.set(‘server’, ‘url’, ’192.168.1.1’)

    # 删除选项

    config.remove_option(‘database’, ‘host’)

    # 修改

    config.set(‘database’, ‘host’, ’192.168.0.0’)

    # 获取所有section

    config.sections()

    # 获取指定section的配置信息

    config.items(‘path’)

  • 相关阅读:
    go-elasticsearch 来自官方的 golang es client
    nginx unit nodejs 模块试用(续)
    WebSocket-Over-HTTP Protocol
    pushpin Server-sent events && openresty 集成试用
    Rendering on the Web
    pushpin openresty 集成试用
    100 webhook implementations
    streamdataio 实时数据分发平台
    Generic Realtime Intermediary Protocol
    Pushpin How it works
  • 原文地址:https://www.cnblogs.com/sy_test/p/12160383.html
Copyright © 2011-2022 走看看