当我第一次听到它时,我对Envoy项目感到非常兴奋。拥有subprocess
的合理API是我非常需要的。
但是,envoy
似乎不再被维护了。最后一次提交是在10个月前完成的,最后一次提交是在2年前完成的。很久以前我报道过一堆严重的错误,但是没有修复。
我正在寻找另一种选择。有没有人知道一个Python包与Envoy做同样的事情(为子进程提供了一个很好的API),除了它被积极维护?
答案 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()
''