输入流上的非阻塞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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从类访问属性时发生java编译错误   性能更好的Java序列化替代方案   java EhCache Spring XML集成命名空间   java如何使用表达式在JSP中检索新生成的图像   Java neo4j,REST和内存   java如何在mouseListener中删除和创建对象?   java在Hibernate中使用预定义前缀填充Id列   java无法从Elastic Beanstalk连接到Amazon SimpleDB   多线程通过单击JavaSwing中的按钮创建具有新名称的类的新对象   java如何在Kotlin中实现Memento模式   Android系列。对java进行排序。lang.NullPointerException   方法中的java重载构造函数内部类