python eval('import foo')引发了SyntaxError

时间:2016-05-31 10:02:52

标签: python eval

我的代码结构:

/foo
    __init__.py
    bar.py

初始化的.py

import bar
eval("import bar")

执行第二行时会引发SyntaxError

>>> import foo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "foo/__init__.py", line 2, in <module>
    eval('import bar')
  File "<string>", line 1
    import bar
         ^
SyntaxError: invalid syntax

我很困惑,因为我希望这些代码的行为应该是相同的。

1 个答案:

答案 0 :(得分:2)

如果您打算导入模块,可以使用exec

exec("import bar")