Problems calling batch files (*.bat) from Python???

Algirdas Brazas lists at digital.ktu.lt
Sat Aug 23 14:31:52 EDT 2008


I haven't tested Your code, so can't tell You why it is working as You say. But 
to open batch file in my script I use simple:

subprocess.Popen("c:\VerrLongPath\AnotherPath\mybatch.bat"").communicate()

You can also play with pipes for Popen...

Algirdas Brazas

----- Original Message ----- 
From: Marian Popa
To: python-list at python.org
Sent: Saturday, August 23, 2008 4:29 PM
Subject: Problems calling batch files (*.bat) from Python???


Hello,

I am new in Python programming and I have the following problem:
I have a script in which I need to open an application (called from a batch 
file - "trace.bat"). For this purpuse, I'm executing the following piece of 
code:

import os, win32process
from win32api import Sleep

os.chdir("D:\\Marian\\Proiecte\\AMT\\Trace")
os.startfile("launch_trace.bat")
#subprocess.call("D:\\Marian\\Proiecte\\AMT\\Trace\\trace.bat")
#pr = win32process.CreateProcess(None, 
"D:\\Marian\\Proiecte\\AMT\\Trace\\trace.bat", None, None, 0, 
win32process.NORMAL_PRIORITY_CLASS, None, None, win32process.STARTUPINFO())

....
....
....
....

But, when I call the "os.startfile("launch_trace.bat")" command, the program 
prompter appears, but the program called in the batch file is opened ONLY after 
the whole script has finished the execution.
Unfortunatley, after this line there are some very important things that has to 
be executed in the right order. I mean, the execution of the batch file is 
important for the rest of the code.
What is strange is that if I execute this code step-by-step, using the debugger, 
or if I put a breakpoint on the "launch_trace" line and then I step on it, 
everything is working fine - the Trace application is launced correctly.
Could anyone help in this direction? I need to launch the application and after 
this I want to continue the execution of the script.

Thank you in advance!

P.S. I've also tried with processes (see the commented lines) and I get the same 
problems; for MSWord application, the behavior is the same - it is launched 
after the script ends. Also, I have to mention that I don't have a DLL of this 
application and it is not a COM application in order to control it from Python.

Marian





--
http://mail.python.org/mailman/listinfo/python-list 





More information about the Python-list mailing list