1Launch a subprocess in a pseudo terminal (pty), and interact with both the 2process and its pty. 3 4Sometimes, piping stdin and stdout is not enough. There might be a password 5prompt that doesn't read from stdin, output that changes when it's going to a 6pipe rather than a terminal, or curses-style interfaces that rely on a terminal. 7If you need to automate these things, running the process in a pseudo terminal 8(pty) is the answer. 9 10Interface:: 11 12 p = PtyProcessUnicode.spawn(['python']) 13 p.read(20) 14 p.write('6+6\n') 15 p.read(20) 16