By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,199 Members | 1,125 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,199 IT Pros & Developers. It's quick & easy.

python system subprocess win32

P: n/a
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
Aug 7 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
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

Aug 7 '07 #2

P: n/a
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

Aug 7 '07 #3

P: n/a
On Aug 7, 11:07 am, "mclaugb" <mcla...@nospm.yahoo.comwrote:
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

<kyoso...@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
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

Aug 7 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.