select.select()が普通のファイルで動作するのか、ソケット/パイプだけで動作するのか誰にも分かりますか?select.select()with regular files
Solaris、Linux、Mac OS Xで試してみました。select.select()呼び出しでブロックしません。それはちょうど私の脳を爆発
、運
import os
import select
fds = [ os.open("read.txt", os.O_RDONLY) ]
while True:
reads, _, _ = select.select(fds, [], [], 2.0)
if 0 < len(reads):
print "-> ",os.read(reads[0], 10)
else:
print "timeout"
これは、基本となるオペレーティングシステムと比べて、Pythonにはあまり関係がありません。ノンブロッキングioと非同期ioを通常のファイルで読みやすくする。 –