正如@Deestan 指出的 subprocess,module 是一个优雅且经过验证的过程。当我们必须从 python 运行命令时,我们经常使用子进程。
我们的主要涉及运行命令,主要是内部构建,并捕获其输出。我们运行这些命令的包装器看起来是这样的。
import subprocess
def _run_command( _args, input=[],withShell=False):
"""
Pass args as array, like ['echo', 'hello']
Waits for completion and returns
tuple (returncode, stdout, stderr)
"""
p = subprocess.Popen(_args, shell = withShell,
stdin=subprocess.PIPE, stdout=subprocess.PIPE)
[p.stdin.write(v) for v in input]
stdout, stderr = p.communicate()
return p.returncode, stdout, stderr
_,op,er = _run_command(['cat'],["this","is","for","testing"])
value="".join(op)
print value
_,op,er = _run_command(['ls',"/tmp"])
value="".join(op)
print value
如果您对 B 的输入很少,则子流程为 是。