$ python
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import select
>>> select.poll
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'poll'
質問する
4138 次
3 に答える
7
poll を使用する代わりに、OSX で select.kqueue() を使用します。非同期コードで使用できるファイル記述子/ファイル システム イベントのタイプをより効率的に登録できるという点で、Linux の「epoll」に似ています。ポーリングよりもはるかに効率的です。
それ以外の場合、相当するのは、ブロックする select.select() を while 内で実行することです。
于 2013-11-02T09:16:35.723 に答える
1
kqueue の一連のコードを書き直さないようにするために poll を使用したい場合は、macports (macports.org) からコンパイルされた python に組み込まれています。OSXのpython(/usr/bin/python)はデフォルトで検索パスの前にあるため、そのpythonインスタンスを明示的に指定する必要があります(私の場合は/opt/local/bin/python2.7)。
于 2014-03-28T18:50:25.727 に答える