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? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |