查阅django中settings的源代码中,可以学到一种值得借鉴的设计模式。即软件先存一份默认参数的配置文件,再暴露一个配置文件提供部分参数给用户进行修改。软件运行的时候,优先检索并使用暴露的配置文件中的参数,其次再检索默认的配置文件。
前提知识:
1、模块 importlib 的import_module方法
import importlib
md = importlib.import_module('conf.settings')
# 根据字符串‘conf.settings’导入conf中的settings模块,此时md就等价于settings模块
importlib.import_module( ) 方法实现了用字符串来导入模块的功能!!!
2、内置函数 dir( )
dir(模块) 获取模块(.py文件)中的所有的属性!!!
3、os.environ 是一个系统相关的大字典,借助他可以进行临时的存取值.
os.environ.setdefault(key,value) 或者os.environ[key] = value 都可以
在用户自定义的配置文件中:
# _*_ coding: gbk _*_ # @Author: Wonder import os BASE_PATH = os.path.dirname(os.path.dirname(__file__)) HHHH = '这是我特殊化配置的,因为我写了'