[Tutor] Running a dos program with python

Armstrong, Richard J. rarmstro at water.ca.gov
Wed Mar 10 23:51:17 CET 2010


 

 

From: srilyk at gmail.com [mailto:srilyk at gmail.com] On Behalf Of Wayne
Werner
Sent: Wednesday, March 10, 2010 2:24 PM
To: Armstrong, Richard J.
Cc: tutor at python.org
Subject: Re: [Tutor] Running a dos program with python

 

On Wed, Mar 10, 2010 at 3:20 PM, Armstrong, Richard J.
<rarmstro at water.ca.gov> wrote:

Hello all,

 

This is my first post to the Tutor at python.org mailing list. I am in the
process of switching from Matlab to Python and there is one task that I
am having a hard time doing and cannot find the answer on the web. I
want to write a script in python that will open up a windows dos
program, send three inputs (file names) into program and then run it. I
know one way to open up the dos program with
os.system(r"c:\shake91.txt") but cannot do the rest.

 

Use the subprocess module:

http://docs.python.org/library/subprocess.html

 

untested, but should work:

 

subprocess.Popen([r'c:\shake91.txt', 'param1', 'paramN-1', 'paramN'])

 

if you want to communicate with the process you can add ,
stdout=subprocess.PIPE, stdin=subprocess.PIPE) to the function call.

 

Check the docs for more info.

HTH,

Wayne

 

Wayne,

 

It kindof works. I wrote 

 

subprocess.Popen([r'c:\shake91.exe', 'FLAC.txt', 'a.txt', 'b.txt'])

 

The dos program pops up and if I hit the enter key three times then it
runs. How can I add these three "enters" into the script? 

 

Thanks,

 

Richie

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100310/a74c0b0d/attachment-0001.html>


More information about the Tutor mailing list