Python,导入库。模仿"from module import * "

Python, Importlib. Imitation of "from module import * "

如何用importlib模仿from module import *。我知道你可以做到:

from importlib.machinery import SourceFileLoader
module = SourceFileLoader('module.py', os.path.join(CWD,'module.py')).load_module()

module.executeFunction()

有什么方法可以导入模块,这样我们就可以 executeFunction() 而不用写 module.executeFunction()

我不认为这是个好主意,将内容保存在对象中绝对是更好的方法,但如果您确实需要...

for func in [func for func in module.__dict__ if not func.startswith("_")]:
    vars()[func] = module.__dict__[func]

由于内置函数,省略以 _ 开头的函数可能是个好主意,但如果您愿意,也可以排除它。