我的代码结构:
/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
我很困惑,因为我希望这些代码的行为应该是相同的。
答案 0 :(得分:2)
如果您打算导入模块,可以使用exec
:
exec("import bar")