このモジュールでは、ほとんどのオペレーティングシステムで利用可能な select() および poll() 関数へのアクセス 機構を提供します。Windows の上ではソケットに対してしか動作しないので 注意してください; その他のオペレーティングシステムでは、他のファイル 形式でも (特に Unixではパイプにも) 動作します。通常のファイルに 対して適用し、最後にファイルを読み出した時から内容が増えているかを 決定するために使うことはできません。
このモジュールでは以下の内容を定義しています:
) |
iwtd, owtd, ewtd[, timeout]) |
戻り値は準備完了状態のオブジェクトからなる 3 つのリストです: 従ってこのリストはそれぞれ関数の最初の 3 つの引数のサブセットに なります。ファイル記述子のいずれも準備完了にならないままタイムアウト した場合、3 つの空のリストが返されます。
シーケンスの中に含めることのできるオブジェクトは Python ファイル
オブジェクト (すなわち sys.stdin
, あるいは open() や
os.popen() が返すオブジェクト)、socket.socket()
が返すソケットオブジェクト
です。
wrapper クラスを自分で定義することもできます。この場合、
適切な (単なる乱数ではなく本当のファイル記述子を返す)fileno()
メソッドを持つ必要があります
注意:
select はWindows のファイルオブジェクトを受理
しませんが、ソケットは受理します 。 Windows では、
背後の select() 関数は WinSock ライブラリで提供されて
おり、WinSock によって生成されたものではないファイル記述子を扱う
ことができないのです。