以下の関数は新しいファイルオブジェクトを作成します。
fd[, mode[, bufsize]]) |
command[, mode[, bufsize]]) |
'r'
(標準の設定です) または 'w'
かに
よって読み出しまたは書き込みを行うことができます。
引数 bufsize は、組み込み関数 open()
における対応する引数と同じ意味を持ちます。
command の終了ステータス (wait() で指定された書式でコード化
されています) は、close() メソッドの戻り値として取得することが
できます。例外は終了ステータスがゼロ (すなわちエラーなしで終了) の
場合で、このときには None
を返します。
利用できる環境: Unix、Windows
バージョン 2.0 で 変更 された仕様: この関数は、Pythonの初期のバージョンでは、 Windows環境下で信頼できない動作をしていました。これはWindowsに付属 して提供されるライブラリの _popen() 関数を利用したことに よるものです。新しいバージョンの Python では、Windows 付属のライブラリ にある壊れた実装を利用しません
) |
以下の popen() の変種はどれも、bufsize
が指定されている場合には I/O パイプのバッファサイズを表します。
mode を指定する場合には、文字列 'b'
または 't'
でなければなりません; これは、Windows でファイルをバイナリモードで開くか
テキストモードで開くかを決めるために必要です。 mode の標準の
設定値は't'
です。
またUnixではこれらの変種はいずれも cmd をシーケンスにできます。その場合、 引数はシェルの介在なしに直接 (os.spawnv() のように) 渡されます。 cmd が文字列の場合、引数は( os.system() のように) シェルに渡されます。
以下のメソッドは子プロセスからリターンコードを取得できるようには していません。入出力ストリームを制御し、かつ終了コードの取得も 行える唯一の方法は、 popen2 モジュールの Popen3 と Popen4 クラスを利用する事です。これらは Unix上でのみ利用可能です。
これらの関数の利用に関係して起きうるデッドロック状態についての議論は、 ``フロー制御問題'' (section 6.9.2) を参照してください。
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout)
を返します。
利用できる環境: Unix、Windows
バージョン 2.0 で 新たに追加 された仕様です。
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout, child_stderr)
を
返します。
利用できる環境: Unix、Windows
バージョン 2.0 で 新たに追加 された仕様です。
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout_and_stderr)
を返します。
利用できる環境: Unix、Windows
バージョン 2.0 で 新たに追加 された仕様です。
(child_stdin, child_stdout, および
child_stderr
は子プロセスの視点で名付けられているので注意してください。
すなわち、child_stdin とは子プロセスの標準入力を意味します。)
この機能は popen2 モジュール内の同じ名前の関数 を使っても実現できますが、これらの関数の戻り値は異なる順序を持ってい ます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。