选择器相当于 Python 2?
selectors equivalent for Python 2?
Python 3 有 selectors
模块,它允许我们 register
在文件描述符事件上,并且只在稍后代码的不同部分 select
就可以了。
在Python2中我们只有select
模块,这就要求我们'register'和'select'在同一行,这是有限制的。
如果我想在一个函数中注册一个事件并在另一个函数中等待它 ('select'),如何在 Python 2 中完成?
所以有两个库可以充当这个角色:selectors2 and selectors34。
它们非常相似,支持 Python 2.6+,并且是选择器模块的直接替代品。但是,selectors2 集成了 PEP 475 which retries system calls when they are interrupted and has a more robust battery of tests 以及所有主要 OSes(Windows、Mac OS 和 [=27] 上的 100% 测试覆盖率和自动化测试=]).
安装模块:
python -m pip install selectors2
以下代码将在 Python 2.6+
中运行
try:
import selectors
except ImportError:
import selectors2 as selectors
免责声明:我是 selectors2 的作者。
Python 3 有 selectors
模块,它允许我们 register
在文件描述符事件上,并且只在稍后代码的不同部分 select
就可以了。
在Python2中我们只有select
模块,这就要求我们'register'和'select'在同一行,这是有限制的。
如果我想在一个函数中注册一个事件并在另一个函数中等待它 ('select'),如何在 Python 2 中完成?
所以有两个库可以充当这个角色:selectors2 and selectors34。 它们非常相似,支持 Python 2.6+,并且是选择器模块的直接替代品。但是,selectors2 集成了 PEP 475 which retries system calls when they are interrupted and has a more robust battery of tests 以及所有主要 OSes(Windows、Mac OS 和 [=27] 上的 100% 测试覆盖率和自动化测试=]).
安装模块:
python -m pip install selectors2
以下代码将在 Python 2.6+
中运行try:
import selectors
except ImportError:
import selectors2 as selectors
免责声明:我是 selectors2 的作者。