eval导入modu

2024-10-17 06:17:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法使用eval()函数导入模块。

所以,我有一个函数,如果我这样做import vfs_tests as v它就会工作。但是,使用eval()类似eval('import vfs_tests as v')的相同导入会引发语法错误。

为什么会这样?


Tags: 模块函数importasevaltests语法错误vfs
1条回答
网友
1楼 · 发布于 2024-10-17 06:17:03

使用exec

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')

在Python2.6和更早版本中使用__import__

相关问题 更多 >