`envoy`-like subprocess的抽象

时间:2013-12-30 16:45:59

标签: python python-envoy

当我第一次听到它时,我对Envoy项目感到非常兴奋。拥有subprocess的合理API是我非常需要的。

但是,envoy似乎不再被维护了。最后一次提交是在10个月前完成的,最后一次提交是在2年前完成的。很久以前我报道过一堆严重的错误,但是没有修复。

我正在寻找另一种选择。有没有人知道一个Python包与Envoy做同样的事情(为子进程提供了一个很好的API),除了它被积极维护?

1 个答案:

答案 0 :(得分:2)

sarge个包,可用于:pip install sarge

此处记录:http://sarge.readthedocs.org/en/latest/tutorial.html#installation-and-testing

似乎积极维护&维护者经常使用堆栈溢出(请参阅此处主题的帖子之一:https://stackoverflow.com/a/11032170/2942522

来自sarge docs&提供的一个用法示例:

“如果你想与Python应用程序中的外部程序进行交互,那么Sarge就是一个库,它可以让你的生活比在Python的标准库中使用子进程模块更容易。”

>>> from sarge import run, Capture
>>> p = run('echo foo; echo bar; echo baz', stdout=Capture())
>>> p.stdout.readline()
'foo\n'
>>> p.stdout.readline()
'bar\n'
>>> p.stdout.readline()
'baz\n'
>>> p.stdout.readline()
''