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
<ky******@gmail.comwrote in message
news:11**********************@e9g2000prf.googlegro ups.com...
On Aug 7, 9:48 am, "mclaugb" <mcla...@nospm.yahoo.comwrote:
>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