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