2011-09-02 122 views
1

我在頂級目錄中有一個SConscript文件,而且我有許多包含不同鍵/值對的JSON文件的子目錄。我在我的SConscript文件中有一個env.Command(),我想根據特定鍵的值調用它。在Scons中做這件事的最好方法是什麼?SCONS if/then語句

我的想法是這樣的:

env.Command(
    test = Value(params['json_key']) 
    if test == "True": 
     target = out.txt, 
     source = in.txt, 
     action = 'function $SOURCE $TARGET' 
    else: 
     pass 
    ) 

回答

2

這是Python的,你不能把一個if/else語句裏面別的東西那樣。但是,您可以使用字典將參數傳遞給env.Command

if Value(params['json_key']) == "True": 
    kw = { 
     'target': 'out.txt', 
     'source': 'in.txt', 
     'action': 'function $SOURCE $TARGET', 
    } 
else: 
    kw = {} 
env.Command(**kw)