On Aug 7, 11:07 am, "mclaugb" <[EMAIL PROTECTED]> wrote: > At the moment, I cannot figure a way of running this precompiled "conv.exe" > using commandline arguments. > > Thus, I need Python to call the program, wait until it loads up, then enter > a known sequence of characters so that the function will run. > The program conv.exe I call looks like this. > -------------------------- > Welcome to conv.exe > This program was written by .... > > Please select from the following options: h- (help) r- (read) ...etc > Enter your request: > --------------------------------- > I need Python to start the program, wait a second and then issue a few > characters to the program. > > Hope this makes more sense! > Bryan > > <[EMAIL PROTECTED]> wrote in message > > news:[EMAIL PROTECTED] > > > On Aug 7, 9:48 am, "mclaugb" <[EMAIL PROTECTED]> wrote: > >> Hello ALl, > >> I have a compiled program "conv.exe" that works as follows:>>conv.exe > > >> ----------------------------- > >> Please selection from the following options. press "h" for help, "p" for > >> print, "r" for readfile. > >> Enter your request now: > >> ... > >> -------------------- > >> Is there a way to script python using the subprocess method to start this > >> program "conv.exe" and then send a "r" to the command line to make it, > >> say, > >> readfile. > > >> I have tried the following but the .communicate("r) is not doing anything > > >> import subprocess > >> import time > > >> a=subprocess.Popen("c:\\mcml\\conv.exe") > >> time.sleep(1) > >> (stdout, stderr) = a.communicate("r") > > >> Many thanks, > >> Bryan > > > Use the sys.argv method. In the code that you have compiled, put the > > following lines in: > > > <code> > > > import sys > > default = sys.argv[1] > > if default: > > # check which option it is and run it appropriately > > else: > > # print your menu here > > > </code> > > > Then you should be able to do the subprocess Popen command: > > > subprocess.Popen("c:\\mcml\\conv.exe r") > > > You may need to turn the shell on... > > > subprocess.Popen("c:\\mcml\\conv.exe r", shell=True) > > > Hopefully that gives you some ideas anyway. > > > Mike
Oh. I thought you had compiled the program yourself. I suppose you could use SendKeys then. I have a couple links here: http://pythonlibrary.org/python/SendKeys It's pretty hackneyed, but I've used the SendKeys module to automate Firefox to some degree. Mike -- http://mail.python.org/mailman/listinfo/python-list