python system subprocess win32

mclaugb mclaugb at nospm.yahoo.com
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!
Bryan

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