Py小工具

读取配置文件

2017-01-01  本文已影响9人  Black先森

本文主要介绍两种常用的配置文件方法。
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代码一样。

上一篇下一篇

猜你喜欢

热点阅读