2016-11-03 3 views
2

Python 3 имеет модуль selectors, который позволяет нам register в событии дескриптора файла и только позже в другой части кода select на нем.Селекторы эквивалентны для Python 2?

В Python 2 у нас есть только модуль select, который требует, чтобы мы «регистрировали» и «выбирали» на той же строке, которая является предельной.

Если я хочу регистрироваться на событии в одной функции и ждать его ('select') в другом, как это можно сделать в Python 2?

ответ

1

Итак, есть две библиотеки, которые заполняют эту роль: selectors2 и selectors34. Они очень похожи, поддерживают Python 2.6+ и заменяют замену для модуля селекторов. Однако selectors2 объединяет PEP 475, который повторяет системные вызовы, когда они прерываются, и имеет more robust battery of tests, а также 100% -ное покрытие тестов и автоматическое тестирование на всех основных операционных системах (Windows, Mac OS и Linux).

Установите модуль с:

python -m pip install selectors2

Следующий код будет работать в Python 2.6+

try: 
    import selectors 
except ImportError: 
    import selectors2 as selectors 

Отказ от ответственности: Я являюсь автором selectors2.

+1

Спасибо, я проверю это! :) –

+0

@AvivCohn Если у вас есть какие-либо проблемы, не стесняйтесь поднять их на Github :) Я очень быстро отвечаю на замечания. –

Смежные вопросы