背景:
微信机器人项目用到了mysql数据库配置,阿里云OSS上传文件配置;现在需要将这些配置参数统一写到一个配置文件中统一管理,而不是分散的写在代码中
1. 使用.ini文件作为配置文件
例如:
settings.ini
[mysql] host=127.0.0.1 port=3306 username=root password=123456 database=itchat [oss] access_key_id = XclfQjpUYBJijjZZ access_key_secret = 82T3PcaIdLYWHi7gDUscbC8VdDcrb0 end_point = http://oss-cn-beijing.aliyuncs.com bucket = chgg-erp-test
2. 读取配置文件的工具类:
config_parser.py
#!/usr/bin/env python # _*_ coding:UTF-8 _*_ import configparser class ConfigParser(): @classmethod def get_config(cls, sector, item): cf = configparser.ConfigParser() cf.read('settings.ini', encoding='utf8') value = cf.get(sector, item) return value
3. 读取配置文件的参数
db.py
#!/usr/bin/env python # _*_ coding:UTF-8 _*_ import pymysql import time from config_parser import ConfigParser def get_db_and_cursor(): ''' 打开一个数据库链接 :return: ''' con = ConfigParser() host = con.get_config('mysql', 'host') username = con.get_config('mysql', 'username') password = con.get_config('mysql', 'password') database = con.get_config('mysql', 'database') db = pymysql.connect(host, username, password, database) cursor = db.cursor(cursor=pymysql.cursors.DictCursor) return db, cursor