Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用子流程记录命令的打印语句_Python_Subprocess - Fatal编程技术网

Python 使用子流程记录命令的打印语句

Python 使用子流程记录命令的打印语句,python,subprocess,Python,Subprocess,我正在运行一个Transporter命令,该命令将打印提示符发生的情况的日志 如何将所有打印语句重新定向到脚本运行所在文件夹中名为transporter\u log.txt的单独文件中?类似于- log_file = open(PATH, 'w') subprocess.call(shlex.split("/usr/local//iTMSTransporter -m verify...") log_file.write(...) 使用重定向命令(在unix上)怎么样 您可以将文件指定为stdo

我正在运行一个Transporter命令,该命令将打印提示符发生的情况的日志

如何将所有打印语句重新定向到脚本运行所在文件夹中名为
transporter\u log.txt
的单独文件中?类似于-

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

使用重定向命令(在unix上)怎么样


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

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

cmd
的输出被写入
log_文件

这是一个包含大量命令的脚本,但是对于这个特定命令,我需要重定向输出(即它生成的打印语句)。
子进程调用(cmd,stderr=log_文件)
,因为打印语句在stderr中
with open(PATH, 'wb') as log_file:
    subprocess.check_call(cmd, stdout=log_file)