title: Controlling a Windows Console App w/ stdin pipe
body: <p>I am trying to control a console application (JTAG app from Segger) from Python using the subprocess module.  The application behaves correctly for stdout, but stdin doesn't seem to be read.  If enable the shell, I can type into the input and control the application, but I need to do this programmatically.  The same code works fine for issuing commands to something like cmd.exe.</p>
  
  <p>I'm guessing that the keyboard is being read directly instead of stdin.  Any ideas how I can send the application input?</p>
  
  <pre><code>from subprocess import Popen, PIPE, STDOUT
  jtag = Popen('"C:/Program Files/SEGGER/JLinkARM_V402e/JLink.exe"', shell=True,
                          universal_newlines=True,
                          stdin=PIPE,
                          stdout=PIPE,
                          stderr=STDOUT)
  
  jtag.stdin.write('usb\n')
  jtag.stdin.flush()
  
  print "Stdout:"
  while True:
      s = jtag.stdout.readline()
      if not s:
          break
      print s,
  
  jtag.terminate()
  </code></pre>