git add
コマンドからメッセージを取得しようとしていて、後でログファイルに出力しようとしています。(ファイアウォール)subprocess.check_output()からstdout/stderrを取得できません
import subprocess
import os
filename = 'test.txt'
# Add changes
add_cmd = """git add "%s" """ % filename
os.system(add_cmd)
a = subprocess.check_output(add_cmd, shell=True, stderr=subprocess.STDOUT)
os.system()
コールが画面に示す:このフォルダがgit
レポないので、正しい
fatal: Not a git repository (or any of the parent directories): .git
を。
しかしsubprocess.check_output()
呼び出しがで失敗します。
File "test.py", line 11, in <module>
a = subprocess.check_output(add_cmd, shell=True, stderr=subprocess.STDOUT)
File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'git add "test.txt" ' returned non-zero exit status 128
なぜ私はsubprocess.check_output()
と、エラーメッセージをキャッチすることはできませんよ?