On 3 Apr, 19:20, mcanjo <mca...@gmail.com> wrote: > On Apr 3, 11:15 am, Patrick Maupin <pmau...@gmail.com> wrote: > > > > > On Apr 3, 11:09 am, mcanjo <mca...@gmail.com> wrote: > > > > I have an executable (I don't have access to the source code) that > > > processes some data. I double click on the icon and a Command prompt > > > window pops up. The program asks me for the input file, I hit enter, > > > and then it asks me for and output filename, I hit enter a second time > > > and it goes off and does its thing and when it is finished running the > > > Command Prompt goes away and I have my new output file in the same > > > directory as my executable and input file. I would like to be able to > > > batch process a group of files. I thought about using "os.spawnv()" in > > > a loop and at each iteration of the loop passing in the file in and > > > out names but that didn't work. Does anyone have any ideas? > > > You need to look at the subprocess module, and use pipes. > > > Regards, > > Pat > > I tried doing the following code: > > from subprocess import Popen > from subprocess import PIPE, STDOUT > exefile = Popen('pmm.exe', stdout = PIPE, stdin = PIPE, stderr = > STDOUT) > exefile.communicate('MarchScreen.pmm\nMarchScreen.out')[0] > > and the Command Prompt opened and closed, no exceptions were generated > but the program didn't run. Am I doing something wrong?
I would try a couple of things (never done what you are trying to do, so my suggestions may be useless ): 1. use shell=True as parameter of Popen 2. capture the output of communicate method, which returns whatever the process emits on standard output and standard error: there could be some message that give you hints about the solution. Ciao -- FB -- http://mail.python.org/mailman/listinfo/python-list