如何使用Popen获取标准输出打印的内容

41 浏览
0 Comments

如何使用Popen获取标准输出打印的内容

我已经尝试过不同的方法来在命令执行过程中打印Popen的输出,但迄今为止都没有成功,我错过了什么?如何使用Popen获得实时输出?

import signal
import os
import sys
import subprocess
import argparse
from subprocess import Popen, PIPE, STDOUT
import threading
from time import sleep
import time
cmd = "python \\\\snowcone\\builds724\\INTEGRATION\\BUILD-117493-STD.INT-1\\uncommon\\build\\script.exe -s ufs"
proc = subprocess.Popen(cmd.split(' '), stderr=subprocess.PIPE)
print "正在执行 %s" % cmd
signal.signal(signal.SIGALRM, proc)
signal.alarm(5)
with proc.stderr:
    for line in iter(proc.stderr.readline, b''):
        print "LINE"
        print line,
proc.wait()  # 等待子进程退出

0