在开发中经常总会生产环境与开发环境系统参数不同的问题,为此很多时候都要使用ini
、json
、xml
等配置文件。这是很多情况下的常用做法。然而作为一名有情怀的挖坑工人和Python使用者,怎么能甘心用这种办法 : ).
之前见过某个Python攻城狮在本地创建一个config_local.py文件,然后在config.py模块使用如下代码覆盖其中的配置:
from os import path
if path.exists(BASE_PATH,'config_local.py'):
from config_local import *
第一次见到这种写法不禁赞叹果然是”Python * * * “,可是不久后就发现了这种方法的弊端————作为一个重度PyCharm依赖和努力消除所有红线和黄线的强迫症患者,IDE里的提示根本不能忍好吧!于是就研究(其实就是Google了一下)Python模块的动态加载.终于找到了importlib
这个包.
使用importlib.import_module()
函:数可以导入名字为字符串给出的一个模块或者包的一部分: