美文网首页Py小工具
读取配置文件

读取配置文件

作者: Black先森 | 来源:发表于2017-01-01 15:44 被阅读9次

    本文主要介绍两种常用的配置文件方法。
    1.直接使用python模块的配置方法
    2.使用早期的ini文件方法。
    推荐使用Python模块,此方法简单并且支持更多 的配置类型

    1.Python模块的配置文件,一般命名一个文件config.py,这个文件之间写
    配置信息,如数据库配置,日志配置,web配置等信息。操作就跟导入python的
    模块一样,直接导入需要的参数

    local_db_conf = dict(
        host="127.0.0.1",
        user="root",
        password="123xxx",
        db="admin",
        port=3306,
        charset="utf8",
    )
    
    production_db_conf = dict(
        host="192.168.1.2",
        user="bbkg",
        password="asFSS22s2-12ws!!",
        db="admin",
        port=3381,
        charset="utf8",
    )
    

    (如果对于模块导入有问题,请移步模块导入部分)

    2.读取ini文件,一般会命名为config.ini,接下来看看如何读取这个文件的
    配置。

    
    [test]
    host = 127.0.0.1
    user = root
    password = 123xxx
    db = admin
    port = 3306
    charset = utf8
    
    [production]
    host = 192.168.1.2
    user = bbkg
    password = asFSS22s2-12ws!!
    db = admin
    port = 3381
    charset = utf8
    

    首先导入模块,创建一个配置对象,通过对象加载config.ini文件,对象
    下有一个get方法可以得到指定区域的参数值,默认返回str类型字符串。
    对于端口号,使用getint返回int类型:

    import configparser
    
    sec = "test"
    
    cf = configparser.ConfigParser()
    cf.read("config.ini")
    
    host = cf.get(sec, "host")
    user = cf.get(sec, "user")
    port = cf.getint(sec, "port")
    print host, user
    print type(host)
    print port, type(port)
    
    >>>
    127.0.0.1 root
    <type 'str'>
    3306 <type 'int'>
    

    如果需要改变参数,只需要改变加载参数的区域:

    
    import configparser
    
    sec = "production"
    
    cf = configparser.ConfigParser()
    cf.read("config.ini")
    
    host = cf.get(sec, "host")
    user = cf.get(sec, "user")
    port = cf.getint(sec, "port")
    print host, user
    print type(host)
    print port, type(port)
    
    >>>
    192.168.1.2 bbkg
    <type 'str'>
    3381 <type 'int'>
    

    小结
    个人推荐第一种导入模块的方式,添加配置文件。就像写python代码一样。

    相关文章

      网友评论

        本文标题:读取配置文件

        本文链接:https://www.haomeiwen.com/subject/qjrivttx.html