加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python importlib import_module将*添加到全局

发布时间:2020-12-20 13:39:59 所属栏目:Python 来源:网络整理
导读:参见英文答案 Python: How to import all methods and attributes from a module dynamically????????????????????????????????????2个 尝试根据一些动态环境变量动态地将设置属性添加到globals(). import osfrom importlib import import_module# To suppor
参见英文答案 > Python: How to import all methods and attributes from a module dynamically????????????????????????????????????2个
尝试根据一些动态环境变量动态地将设置属性添加到globals().

import os
from importlib import import_module


# To support environment variables as the means of specifying
# the target environment as an alternative to using the --settings flag
# where MY_ENV is 'local','development','staging','production'
if os.environ.get('MY_ENV'):
    env = os.environ.get('MY_ENV')
    import_module('my.settings.%s' % env,'*')

据了解,需要将import_module分配给变量:

foo = import_module('path.to.package','bar')

然后:

globals()[foo] = foo

可以将其添加到全局范围.

但是,使用通配符*需要做什么?

globals()[*] = import_module('path.to.package','*')

显然,上面会导致语法错误.

解决方法

要做你想做的事,你需要使用“__import __()”而不是import_module()

我认为这个答案可以帮到你

How can I import a package using __import__() when the package name is only known at runtime?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读