0
エラーがある場合は、サブプロセスを呼び出して文字列を返します。 コード例:サブプロセスを終了するときに文字列に文字を追加しました
プロセスを呼び出す:
def read_plan_with_break():
comand = " python script.py "
proc = subprocess.Popen(comand.split(), shell=False, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
if proc.wait() != 0:
output, err = proc.communicate()
print (err)
return "Error in subprocess"
return True
サブプロセスを終了するとき:
def fatal_error():
print("Some message", file=sys.stderr)
exit(1)
私の問題は、stderr
出力があるということである:b'Some message\r\n'
私は\r\n
strip
とを消去することができますなぜ冒頭にb
があり、最初と最後に'
があるのか分かりません。
これがなぜ起こるのか誰にも分かりますか?
EDIT: 私はb'
を取り除くためにerr.split()[2:-1]
を試してみましたが、それは私がダウン票を取得する場合、私はより良い質問を改善して行うことができます説明してくださいSome message
の開始を遮断将来
を返します。文字列の部分ではなく部分文字列で 'b'を取り除くことはできません。 [ここ]を参照(http://stackoverflow.com/questions/22824539/what-is-a-python-bytestring) –
err.decode()私はそれを受け入れることができそう答え、 – TheClonerx
@TheClonerxはありがとうお手伝いをします:) – kemis