2012-02-15 55 views
1

我正在运行Transporter命令,该命令打印出提示中正在发生的事件的日志。使用子进程记录命令的打印语句

如何将所有打印语句重新定向到脚本运行所在的同一文件夹中一个名为transporter_log.txt的单独文件?类似的东西 -

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

回答

3

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

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

cmd输出写入log_file

+0

'subprocess.call(cmd,stderr = log_file)',因为打印语句进入stderr – David542 2012-02-19 21:45:43

0

如何使用重定向命令(在UNIX上)?

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

这是一个有很多命令的脚本,但是对于这个特定的命令,我需要重定向输出(即它生成的打印语句)。 – David542 2012-02-15 00:36:13