Python执行命令行,发送输入和读取输出

时间:2012-05-20 11:57:10

标签: python io

如何实现以下功能:

  1. Python执行shell命令,等待用户input某事
  2. 用户输入input后,程序会回复一些output
  3. Python捕获output

1 个答案:

答案 0 :(得分:9)

你可能想要subprocess.Popen。要与流程进行通信,您需要使用communicate方法。

e.g。

process=subprocess.Popen(['command','--option','foo'],
                         stdin=subprocess.PIPE,
                         stdout=subprocess.PIPE,
                         stderr=subprocess.PIPE)
inputdata="This is the string I will send to the process"
stdoutdata,stderrdata=process.communicate(input=inputdata)