6.8.3.6 popen2.* を置き換える

注意: popen2 に対するコマンド引数が文字列の場合、 そのコマンドは /bin/sh 経由で実行されます。いっぽうこれが リストの場合、そのコマンドは直接実行されます。

(child_stdout, child_stdin) = popen2.popen2("somestring", bufsize, mode)
==>
p = Popen(["somestring"], shell=True, bufsize=bufsize
          stdin=PIPE, stdout=PIPE, close_fds=True)
(child_stdout, child_stdin) = (p.stdout, p.stdin)

(child_stdout, child_stdin) = popen2.popen2(["mycmd", "myarg"], bufsize, mode)
==>
p = Popen(["mycmd", "myarg"], bufsize=bufsize,
          stdin=PIPE, stdout=PIPE, close_fds=True)
(child_stdout, child_stdin) = (p.stdout, p.stdin)

popen2.Popen3 および popen3.Popen4 は基本的には subprocess.Popen と同様です。 ただし、違う点は:

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。