2011-10-26 11 views
1

リターンコードとともにコマンドのstdoutとstderrを取得したいと思います。 誰かがこれを既に達成しているPython関数を指すことができますか?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コールの交換方法を示します。

関連する問題