【发布时间】:2014-08-11 18:54:45
【问题描述】:
我正在尝试编写一个模块,该模块使用管道(绑定到stdin)从进程异步获取发送数据,然后需要生成和管理与接收到的数据相对应的进程(即这将是一个回调函数)。
所以我想知道 Twisted 是否可以轻松完成这两项任务(从标准输入异步读取、生成和管理子进程),或者是否有使用其他工具的更好/更优雅的解决方案。
【问题讨论】:
-
Twisted 有办法做到这一点,许多其他 Python 库(asyncio/trollius、tornado 等)也是如此。你甚至可以在没有任何异步框架的情况下毫不费力地做到这一点。至于哪种方式最好/最优雅,这确实是一个基于意见的问题,IMO。
-
你能推荐/建议一个优雅而简单的吗?
-
我对 Twisted 的经验很少,但它很受欢迎。它可能会很好地满足您的需求。如果您使用的是 Python 3.4,标准库中的
asyncio模块也可以以简单而优雅的方式完成此操作。
标签: python asynchronous subprocess twisted nonblocking