ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

Pythonのsubprocessの標準出力を入手する

Pythonのsubprocessを使って標準出力を入手したい。

import subprocess

cmdline = 'echo test'

p = subprocess.Popen(cmdline, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)

while True:
  line = p.stdout.readline()

  if not line:
    break

  print(line.strip())

ところが、この場合「test」ではなく「b'test'」と表示される。

b'test'

デコードすれば結果だけを表示できる。

print(line.strip().decode('ascii'))