输入流上的非阻塞io包装器
non-blocking-io-wrapper的Python项目详细描述
无阻塞包装
说明:
non_blocking_io_wrapper.NonBlockingReader
是
从非阻塞流生成任何流。它可以用于
以非阻塞方式包装子流程的stdout
管道的示例。在
它是一个真正的io.RawIOBase
子类。因此,任何有效的方法
在输入字节流上应该可以无缝地工作。但是,一个线路接入
(readline或iterator)将在没有可用数据的情况下引发OSError
调用时间(可以使用select
方法来测试/等待
条件)。如果某些数据可用,将返回一行,或
如果缓冲区中没有新行可用,则为部分。在
如果没有数据存在,读取将返回None而不是阻塞。在
其他方法
drain(timeout=None)
等待底层流到达其文件结尾。在
如果指定了超时,而不是无,则为 等待几秒钟。在
如果成功,则返回True,超时时返回False。在
它旨在在发出结束信号后强制阻塞等待 与对等方的通信。在
^{pr2}$等待数据可用。在
如果指定了超时,而不是无,则为 等待几秒钟。在
如果成功,则返回True,超时时返回False
它旨在允许等待某些数据的可用性。在
安装
从PyPI
发布版本通常可以从PyPI获得。{cd5>用户^ 安装最后一个:
pip install non_blocking_io_wrapper
来自GitHUB
您也可以从GitHUB克隆主存储库:
git clone https://github.com/s-ball/non_blocking_io_wrapper.git
贡献-发展
GitHUB中包含一个测试包(覆盖率从0.5开始为97%) 存储库和PyPI上的源包中。在
version.py
的特殊处理
版本控制文件未包含在GitHUB存储库中,因为它是
用setuptools_scm
生成。当然,它包含在PyPI包中
因此,您应该确保有一个真正的git存储库,或者获取源代码
来自PyPI。症状是你得到的版本号是0.0.0。。。在
免责声明:beta质量
它功能齐全,通过了在travisci上对python3.6到3.9的测试。 然而,它本可以有一个更好的文档,而且没有被广泛使用 经过测试。在
许可证
这项工作获得麻省理工学院的许可证。看到了吗 LICENSE.txt
- 项目
标签: