python - eval 导入模块

标签 python eval

我无法使用 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/

相关文章:

python - 如何在 Lua/Torch 中调用以字符串形式给出名称的函数?

python - 通过类创建 pandas DataFrame 返回空 DataFrame

Python Mayavi2 @mayavi2.standalone

python - 使用 Elasticsearch 后端在 Django Haystack 中启用同义词

python - 如何发送带附件的电子邮件?

javascript - 使用不同的对象作为全局对象评估字符串

PHP 的 create_function() 与仅使用 eval()

python - arr[范围(3)]与arr[:3] in numpy的区别

javascript - 如果在运行时使用 eval 在 javascript 中进行条件评估

jquery - 如何使用 jQuery 评估变量