python-给定完整的模块路径,动态导入可调用对象吗?
作者:互联网
>>> import_path('os.path.join')
<function join at 0x22d4050>
编写import_path的最简单方法是什么(在Python 2.6及更高版本中)?假设最后一个组件在模块/包中始终是可调用的.
解决方法:
这似乎是您想要的:
def import_path(name):
modname, _, attr = name.rpartition('.')
if not modname:
# name was just a single module name
return __import__(attr)
m = __import__(modname, fromlist=[attr])
return getattr(m, attr)
要使其与__import__不带关键字参数的Python 2.5及更早版本一起使用,您将需要使用:
m = __import__(modname, {}, globals(), [attr])
标签:import,module,introspection,python 来源: https://codeday.me/bug/20191106/2001510.html