使用子进程记录命令的print语句

时间:2012-02-15 00:19:46

标签: python subprocess

我正在运行一个Transporter命令,它会打印一个记录提示的内容。

如何将所有打印语句重定向到与运行脚本相同的文件夹中名为transporter_log.txt的单独文件?像 -

这样的东西
log_file = open(PATH, 'w')
subprocess.call(shlex.split("/usr/local//iTMSTransporter -m verify...")
log_file.write(...)

2 个答案:

答案 0 :(得分:3)

您可以将文件指定为stdout参数:

with open(PATH, 'wb') as log_file:
    subprocess.check_call(cmd, stdout=log_file)

cmd的输出会写入log_file

答案 1 :(得分:0)

使用redirect命令(在unix上)?

your_python.py > /path/to/transporter_log.txt