简洁版本:
假设我有一个字符串str和一个文件functions.py,我想从中导入一个名称存储在str.
我该怎么办?我想要这样的东西:
from functions.py import str
Run Code Online (Sandbox Code Playgroud)
但对 str 进行了评估,并且不导入方法“str”(该方法不存在)。
经过一番谷歌搜索后,我(我希望)接近:
func_name = str
_tmp = __import__('functions.py', globals(), locals(), ['func_name'], -1)
func = ???? <what to put here?>
Run Code Online (Sandbox Code Playgroud)
提前致谢。
编辑:TMI。
假设您的代码将模块导入到_tmp工程中,那么最后一步很简单:
func = getattr(_tmp, func_name)
Run Code Online (Sandbox Code Playgroud)