在 Python 中使用字符串导入

Los*_*_DM 2 python

简洁版本:

假设我有一个字符串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。

Dav*_*nan 5

假设您的代码将模块导入到_tmp工程中,那么最后一步很简单:

func = getattr(_tmp, func_name)
Run Code Online (Sandbox Code Playgroud)