python system subprocess win32

mclaugb mclaugb at
Tue Aug 7 18:07:12 CEST 2007

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!

<kyosohma at> wrote in message 
news:1186500091.063514.178640 at
> On Aug 7, 9:48 am, "mclaugb" <mcla... at> 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

More information about the Python-list mailing list