それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

python の subprocess 起動で、起動コマンドのstdin に書き込む

起動して入力をわたしたい。

cmd1= "cat"
p = subprocess.Popen(cmd1.strip().split(" "), stdin=subprocess.PIPE)
  p.stdin.write("Hello World\n".encode('utf8'))

コマンドを起動するときに、 stdin に PIPEを指定する。実行中の python と サブプロセスのSTDINを繋いでやる。

これで p.write が呼べる

複数パイプしたいとき

複数パイプの起動をしたいときは、こちらのエントリに書きました。

python でコマンド実行。サブプロセスの終了待ち・強制終了・親プロセスと一緒に殺す。 - それマグで!