subprocess モジュールは新しくプロセスを生成して、そのプロセスを扱う一貫したインタフェースを提供します。それは従来からある他のモジュールよりも高レベルなインタフェースを提供します。そして os.system(), os.spawn*(), os.popen*(), popen2.*() や commands.*() のような従来の関数の置き換えを目的としています。 subprocess モジュールと他のモジュールとの比較を分かり易くするために os や popen を使用したサンプルを再作成して紹介します。 subprocess モジュールは Popen とそのクラスを使用する複数のラッパ関数を定義します。 Popen のコンストラクタは新たなプロセス生成を簡単にする複数の引数を受け取り、パイプを経由してその親プロセスと通信します。それは他のモジュールの置き換えられる全ての機能や