12
eval()
関数を使用してモジュールをインポートできません。モジュールをインポートするためのeval
私はimport vfs_tests as v
を実行すれば機能します。ただし、eval()
(eval('import vfs_tests as v')
)のような同じインポートでは構文エラーが発生します。
これはなぜですか?
eval()
関数を使用してモジュールをインポートできません。モジュールをインポートするためのeval
私はimport vfs_tests as v
を実行すれば機能します。ただし、eval()
(eval('import vfs_tests as v')
)のような同じインポートでは構文エラーが発生します。
これはなぜですか?
使用exec
:import
文でのみ表現に関する
exec 'import vfs_tests as v'
eval
作品。
exec
は、Python 3で関数です:exec('import vfs_tests as v')
あなたはimportlib
モジュール使用すべき文字列を使用してモジュールをインポートするには:Pythonの2.6で
import importlib
mod = importlib.import_module('vfs_tests')
を以前の__import__
を使用しています。
警告の単語:execは非常に強力です。あなたが実行している文字列の一部が信頼できないソースから来た場合、execも非常に危険です。 –
py <= 2.6の場合は__import__を使用しますが、通常のインポートと同様に、インポートされた名前は定義されていません。 – TextGeek