settings.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:heroku-aiohttp-web 作者: sseg 项目源码 文件源码
def get_config(filename):
    try:
        config_dir = os.path.dirname(filename)

        with NamedTemporaryFile(suffix='.py', dir=config_dir, delete=True) as tf:
            shutil.copyfile(filename, tf.name)
            spec = importlib.util.spec_from_file_location('_config.settings', tf.name)
            module = importlib.util.module_from_spec(spec)
            spec.loader.exec_module(module)

        if hasattr(module, '__all__'):
            settings = {k: getattr(module, k) for k in module.__all__}
        else:
            settings = {k: v for k, v in vars(module).items() if not k.startswith('_')}

        return MappingProxyType(settings)

    except Exception:
        sys.stderr.write('Failed to read config file: %s' % filename)
        sys.stderr.flush()
        raise
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号