我正在尝试创建一个包含所有.asm文件的数组,我需要构建除了,因为它现在给我带来了麻烦。根据Scons "Handling Common Cases"页面
,这就是我所拥有的projfiles['buildasm'] =
['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a']];
(这会将'foo.a'形式的路径映射到'#build / foo.asm')
如果数组成员与'baz.a'匹配,我想为projfiles['a']
的每个成员运行此项,但除外。我怎么能这样做?
答案 0 :(得分:7)
projfiles['buildasm'] = ['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a'] if x != 'baz.a']
或更一般地说:
ignored_files = ['baz.a',
'foo.a',
'xyzzy.a',
]
projfiles['buildasm'] = ['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a'] if x not in ignored_files]