2012-02-15 25 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