我无法使用 eval()
函数导入模块。
所以,我有一个函数,如果我执行 import vfs_tests as v
它可以工作。但是,像 eval('import vfs_tests as v')
这样使用 eval()
的相同导入会引发语法错误。
为什么会这样?
最佳答案
使用执行
:
exec 'import vfs_tests as v'
eval
仅适用于表达式,import
是一个语句。
exec
是 Python 3 中的一个函数:exec('import vfs_tests as v')
要使用字符串导入模块,您应该使用 importlib
模块:
import importlib
mod = importlib.import_module('vfs_tests')
在 Python 2.6 及更早版本中使用 __import__
。
关于python - eval 导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136772/