2011-10-26 6 views
1

리턴 코드와 함께 명령의 stdout 및 stderr를 가져 오려고합니다. 다른 사람이 이미이 작업을 수행하는 파이썬 함수를 가리킬 수 있습니까?popen3 및 리턴 코드

다음과 같이이 사이트에서 찾은 기능을 수정했지만 명령의 리턴 코드를 가져올 수 없습니다. 이 조각에서, STS는 항상 0

def Getstatusoutput(cmd): 
    """Return (status, output) of executing cmd in a shell.""" 

    import sys 
    mswindows = (sys.platform == "win32") 

    import os 
    if not mswindows: 
     cmd = '{ ' + cmd + '; }' 

    fi,fo,fe=os.popen3(cmd) 
    textOut = fo.read() 
    textErr = fe.read() 
    sts = fo.close() 
    if sts is None: sts = 0 
    if textOut[-1:] == '\n': textOut = textOut[:-1] 
    return sts, textOut, textErr 

답변

3

subprocess 모듈을 사용 것 같다. This sectionos.popen3 호출을 대체하는 방법을 보여줍니다.

관련 문제