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 > -- http://mail.python.org/mailman/listinfo/python-list