Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

シェルコマンドを実行するsubprocessで結果を格納するアレコレ

shuzo-kino.hateblo.jp
の一年半越しの続き。

subprocessでシェルコマンドを実行するのはいいけど、その結果を格納する方法について

実際のところ

import subprocess

res = subprocess.run(["pwd"])
#>> /home/shuzo

res
#>> CompletedProcess(args=['pwd'], returncode=0)

capture_outputをTrueにすると、出力されず、変数を与えている場合CompletedProcessクラスのstdout変数に格納される。

response = subprocess.run(["pwd"],capture_output=True)

response
#>> CompletedProcess(args=['pwd'], returncode=0, stdout=b'/home/shuzo\n', stderr=b'')

response.stdout
#>> b'/home/shuzo\n'