Python 调用外部 cmd 并将标准输出重定向到文件



错误消息:

Failed to open output_file_path/**.txt

法典:

cmd = 'showTxt "%s" > "%s"' % (file_path, output_file_path)
LoggerInstance.log('[cmd] '+cmd)
#os.system(cmd)
splited_cmd=shlex.split(cmd)
p = subprocess.Popen(splited_cmd, stderr=subprocess.PIPE)
#p.wait()
output = p.stderr.read()
print output
LoggerInstance.log('[console std error]'+ output)

如何将标准输出重定向到 cmd 中的文件?

你可以提供一个file-handler作为stdout参数来Popen,即:

p = subprocess.Popen(splited_cmd,
                     stderr=subprocess.PIPE,
                     stdout=open(output_file_path, "w"))

当然,准备好捕获它可能引发的异常。

相关内容

  • 没有找到相关文章

最新更新