7

Python のドキュメントを調べていたところ、os.popen()、os.popen2() など、4 ~ 5 の異なるバージョンの popen() があることがわかりました。

stderrを含むものと含まないものがあるという事実は別として、それらの違いは何ですか?また、それぞれをいつ使用しますか? ドキュメントはそれをあまりよく説明していませんでした。

4

3 に答える 3

14

ジェイソンはそれを正しく持っています。見やすいように要約すると、次のようになります。

  • os.popen() -> 標準出力
  • os.popen2() -> (標準入力、標準出力)
  • os.popen3() -> (標準入力、標準出力、標準エラー出力)
  • os.popen4() -> (stdin, stdout_and_stderr)
于 2008-11-09T13:06:46.017 に答える
13

subprocessこれらの機能が持つすべての機能を備えたモジュールを使用することをお勧めします。

于 2008-11-09T10:44:40.047 に答える
10

popen2 は標準エラーをキャプチャしませんが、popen3 は標準エラーをキャプチャし、独自のファイル ハンドルを提供します。最後に、popen4 は標準エラーをキャプチャしますが、標準出力と同じファイル オブジェクトに含めます。

于 2008-11-09T08:53:58.803 に答える