ConfigParser配置参数,背景、示例、方法
原创
©著作权归作者所有:来自51CTO博客作者风华浪浪的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、背景
python 项目启动时,默认加载一个人或几个配置文件。配置文件可以不修改代码可以改变程序运行的环境、配置等。而常用的就是ConfigParser 是用来读取配置文件的包。
二、应用方法
- 配置文件的格式如下: 中括号
[ ]
内包含的为section
。section
下面为类似于key-value 的配置内容
[mysql]
host = 127.0.0.1
port = 3306
user = root
password = 1qaz2wsx
db_name = games
[redis]
host = 127.0.0.1
port = 6379
user = root
password = 1qaz2wsx
db = 0
config.sections() ['mysql', 'redis']
mysql_db = config.options("mysql") ['host', 'port', 'user', 'password']
-
获取指点section下指点option的值
host = config.get("mysql", "host")
port = config.getint("mysql", "port")
get() 获取值
getint() 将获取到值转换为int型
getboolean('redis', 'db') 将获取到值转换为bool型
getfloat("price", "" ) 将获取到值转换为浮点型
has_section("default") 检查是否存在section
config.add_section("default") 添加section
has_option("default", "db_host"): 检查是否存在option
set("default", "db_host", "0.0.0.0") 设置option值
三、 示例
默认优先查找DEFAULT, 为基础、下面可以继承default, default只能大写,小写报错
[DEFAULT]
mysql_connect ="mysql+pymysql://%(user)s:%(password)s@%(host)s:%(port)s/%(db_name)s?charset=utf8"
[db1]
host = 192.168.0.110
port = 6379
user = root
password = 1qaz2wsx
db_name = games
[db2]
host = 192.168.0.111
port = 6379
user = root
password = 1qaz2wsx
db_name = games
import configparser
config = configparser.ConfigParser()
config.read("db_conf", encoding="utf-8")
print(config.get('db1', 'mysql_connect'))
print(config.get('db2', 'mysql_connect'))
"mysql+pymysql://root:1qaz2wsx@192.168.0.110:6379/games?charset=utf8"
"mysql+pymysql://root:1qaz2wsx@192.168.0.111:6379/games?charset=utf8"