SCons if / then声明

时间:2011-09-02 21:30:59

标签: python json scons

我在顶级目录中有一个SConscript文件,我有许多子目录,其中JSON文件包含不同的键/值对。我的SConscript文件中有一个env.Command(),我希望根据特定键的值调用它。在Scons中这样做的最佳方式是什么?

我在想这样的事情:

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

1 个答案:

答案 0 :(得分: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)