我正在尝试为我需要构建的所有 .asm 文件创建一个数组,except 现在给我带来麻烦的文件除外。这是我所拥有的,基于 Scons "Handling Common Cases"页:
projfiles['buildasm'] =
['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a']];
(这将 'foo.a' 形式的路径映射到 '#build/foo.asm')
我想为 projfiles['a'] 的每个成员运行此程序 except 如果数组的成员与“baz.a”匹配。我该怎么做?
请您参考如下方法:
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]
