Python 如何抑制生成命令';waf中的s控制台输出?

Python 如何抑制生成命令';waf中的s控制台输出?,python,build,waf,Python,Build,Waf,当使用waf()构建系统时,如何在构建期间禁止将命令输出打印到控制台?该命令是一个外部操作系统命令,调用方式如下: bld(rule='cmd ${SRC} ${TGT}', source='input.txt', target='output.txt') // In your wscript import os devnull = ('nul' if 'nt' in os.name '/dev/null') def build(bld): bld(rule='cmd ${SRC} $

当使用
waf
()构建系统时,如何在构建期间禁止将命令输出打印到控制台?该命令是一个外部操作系统命令,调用方式如下:

bld(rule='cmd ${SRC} ${TGT}', source='input.txt', target='output.txt')
// In your wscript
import os

devnull = ('nul' if 'nt' in os.name '/dev/null')

def build(bld):
  bld(rule='cmd ${SRC} ${TGT} 1>' + devnull + ' 2>&1', source='input.txt', target='output.txt')
除了将shell重定向添加到命令之外,是否有任何waf选项可以实现这一点?如何抑制stdout和stderr命令流?

您可以
stdout
stderr
(描述符分别为
1
2
)在非窗口上禁用
/dev/null
,在窗口上禁用
nul
,如下所示:

bld(rule='cmd ${SRC} ${TGT}', source='input.txt', target='output.txt')
// In your wscript
import os

devnull = ('nul' if 'nt' in os.name '/dev/null')

def build(bld):
  bld(rule='cmd ${SRC} ${TGT} 1>' + devnull + ' 2>&1', source='input.txt', target='output.txt')

>nul2>&1
/dev/null 2>&1