2016-05-31 6 views
0

マイコード構造を上げる:二行目を実行するとPythonの評価( 'インポートFOO')にSyntaxError

/foo 
    __init__.py 
    bar.py 

INITの.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 

私はこれらのコードの動作が同じである必要があるため、私は混乱しています。あなたはモジュールをインポートする場合

+2

'eval'は表現、' import'文であると予想しています。それで、あなたは何をしようとしていますか? – bereal

+0

実行時に[http://stackoverflow.com/questions/2083140/import-all-the-modules-in-a-directory](http://stackoverflow.com/questions/2083140/import)のようにモジュールをインポートしたい-all-the-a-a-a-directory)を使用します。 – gzc

+0

@gzcその後、その質問の答えに何が間違っていますか? – phihag

答えて

2

あなたが代わりにexecを使用することができます。

exec("import bar")