Python 2.*の関数のこの素晴らしい代替品に出会いましたgetstatusoutput()
。これは、Unix と Windows で同じように機能します。output
しかし、私は、の構築方法に何か問題があると思います。出力の最後の行のみが返されますが、理由がわかりません。どんな助けでも素晴らしいでしょう。
def getstatusoutput(cmd):
"""Return (status, output) of executing cmd in a shell."""
"""This new implementation should work on all platforms."""
import subprocess
pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, universal_newlines=True)
output = "".join(pipe.stdout.readlines())
sts = pipe.returncode
if sts is None: sts = 0
return sts, output