Python Subprocess module

Eric_Dexter at msn.com Eric_Dexter at msn.com
Fri Jul 13 20:03:08 EDT 2007


On Jul 13, 4:15 pm, Dave Sampson <sampe... at gmail.com> wrote:
> hey folks,
>
> A simple question hopefully. despite all my searching I have not found a
> satisfactory response.
>
> The goal. Interact with a command line program. Simple enough, but the
> key is INTERACT.
>
> I tried the shell and comand approaches but that initiates, it does not
> allow interaction with the programs.
>
> So then I went with Popen and such... which then led to the subprocess
> module.
>
> I can create the object and read a few lines of output. but if I go too
> far then the program hangs. the number of lines will differ depandening
> on many function including the format of an input file so I can;t
> hardcode how many lines to read.
>
> I want to read all of STDOUT without failing because I went out of range.
>
> next I want to read the final line of the output because it tells me
> what is required for the next line of input.
>
> I am supposed to be able to entre 'y' and return for the program to
> continue if I agree with what I see in the stdout.
>
> A problem exists though that I have tried
> 'y'
> 'y\n'
> 'y\r'
>
> and nothing seems to get the program going again for I still cant; read
> past the same point in the standard output. then I have to kill and
> start over.
>
> So the next approach included looking at Pexpect, which got realy
> confusing realy fast and despite running fedora core and python 2.4.4 I
> would like my application to be cross platform and there is no Pexpect
> for Windows That I can see.
>
> I have checked  out many mailing lists and posts and tutorials but they
> all admit to not be samples of complex interactivity. I guess I am
> having that special case.
>
> ASPN Python cookbok provided some code for a new Popen Class that allows
> for interaction but I don't think I need to go that root....
>
> I am essentialy trying to build and Python wrapper for a coomand line
> program that i want to build a GUI around.
>
> Any links or suggestions would be great. Unfortunaetly I don't
> understand that abstract concepts in the manual reference. I am fresh in
> the python world and find examples better than technical abstracts.
>
> Cheers

There is something called http://www.rutherfurd.net/python/sendkeys/
send keys for the p.c. you can use a try: except: concept and on the
windows platform there is also a way to use autoit in python  using
pywin.  At one time (2001) there was a module that allowed you to use
gvim but it has dissapeared unless it is listed somewhere else (gvim
doesn't seem to work with the sendkey method and it is a shame it has
alot of cool text functions including command line support)

http://sourceforge.net/projects/dex-tracker/




More information about the Python-list mailing list