Python コードを動的に生成し、eval() 関数で実行する必要があります。
私がやりたいことは、いくつかの「インポート」と「値の割り当て」を生成することです。つまり、評価するにはこの文字列を生成する必要がありますeval(x)
。
x = """
import testContextSummary
import util.testGroupUtils
testDb = [testContextSummary.TestContextSummary,
testGroupUtils.testGroupUtils.TestGroupUtils]
""" # x is automatically generated
eval(x)
... use testDb ...
このコードで試してみましたが、 eval() が を認識import
しないというエラーを返すので、このコードを試しました。
x = """
testContextSummary = __import__("testContextSummary")
testGroupUtils = __import__("util.testGroupUtils")
testDb = [testContextSummary.TestContextSummary,
testGroupUtils.testGroupUtils.TestGroupUtils]
""" # x is automatically generated
eval(x) # error
割り当てステートメントを許可しないというエラーが再び発生しました。
動的に生成された Python スクリプトを実行し、評価の結果を使用する方法はありますか?