Help need with subprocess communicate

Ali aafshar at gmail.com
Wed Jun 4 14:34:28 CEST 2008


On Jun 3, 10:04 pm, rdab... at gmail.com wrote:
> I'm trying to perform following type of operation from inside a python
> script.
> 1. Open an application shell (basically a tcl )
> 2. Run some commands on that shell and get outputs from each command
> 3. Close the shell
>
> I could do it using communicate if I concatenate all my commands
> ( separated by newline ) and read all the output in the end. So
> basically I could do following sequence:
> 1. command1 \n command2 \n command 3 \n
> 2. Read all the output
>
> But I want to perform it interactively.
> 1. command1
> 2. read output
> 3. command2
> 4. read output ......
>
> Following is my code:
>
> from subprocess import *
> p2 = Popen('qdl_tcl',stdin=PIPE,stdout=PIPE)
> o,e = p2.communicate(input='qdl_help \n qdl_read  \n
> qdl_reg_group_list ')
>
> Please suggest a way to perform it interactively with killing the
> process each time I want to communicate with it.
>
> Thanks in advance,
> -Rahul.

It sounds like this may help: http://www.noah.org/wiki/Pexpect

(pure python expect-like functionality)

Ali



More information about the Python-list mailing list