织物抑制标准输出写入屏幕

时间:2018-11-29 10:44:02

标签: python fabric

Fabric中的下一个命令不会将输出打印到stdout。 我必须手动键入打印输出才能在执行后打印输出(可能需要10分钟) 有什么想法吗?

 with settings(warn_only=False), shell_env(ALLOWED_CHANGES="10"):
     if logfilename is  None:
         logfilename = "/tmp/deploy/deleteme"
     output = local("ALLOWED_CHANGES=1 bin/stack {dry} -d {env} -t {stack} --{op} 2>&1 | tee -a {log}".format(
         dry=dry,
         env=environ,
         stack=stack,
         log=logfilename,
         op=operation,
     ),
         capture=True
     )
     print "Output: "+output

1 个答案:

答案 0 :(得分:0)

This is expected。如果localcapture,则True将不会输出输出:

  

local 当前无法同时打印和捕获输出,因为 run / sudo 做。 capture kwarg允许您根据需要在打印和捕获之间切换,默认为False