4

プロジェクトの SConstruct ビルド ファイルに取り組んでおり、オプションが廃止されているため、オプションから変数に更新しようとしています。しかし、変数の使い方がわかりません。おそらくこれに貢献しているPythonの経験はありません。

たとえば、私はこれを持っています:

opts = Variables()
opts.Add('fcgi',0)
print opts['fcgi']

しかし、私はエラーが発生します:

AttributeError: Variables instance has no attribute '__getitem__':

これがどのように機能するのかわかりません

4

2 に答える 2

5

通常、後でテストするために環境に変数を保存します。

opts = Variables()
opts.Add('fcgi',0)
env = Environment(variables=opts, ...)

その後、次のことをテストできます。

if env['fcgi'] == 0:
    # do something
于 2009-02-12T16:18:08.380 に答える
1

その特定のエラーは、クラスがon を使用できるようにするVariablespython の__getitem__ インターフェイスを実装していないことを示しています。キーを印刷するだけの場合、ドキュメントはキーを反復処理できることを示しているようです。[ ...]optsVariables

for key in opts.keys():
    print key

または、ヘルプ テキストを印刷することもできます。

print opts.GenerateHelpText()
于 2009-01-24T17:47:47.683 に答える