How to run external executable using Python?
use subprocess.call
, more info here:
import subprocesssubprocess.call(["C:\\temp\\calc.exe"])
or
import osos.system('"C:/Windows/System32/notepad.exe"')
i hope it helps you...
The os.system
method is depreciated and should not be used in new applications. The subprocess module is the pythonic way to do what you require.
Here is an example of some code I wrote a few weeks ago using subprocess
to load files, the command you need to use to delay exit until data has been received and the launched program completes is wait()
:
import subprocesscmd = "c:\\file.exe"process = subprocess.Popen(cmd, stdout=subprocess.PIPE, creationflags=0x08000000)process.wait()
creationflags=0x08000000
is an optional parameter which suppresses the launch of a window, which can be useful if the program you are calling does not need to be directly seen.
Option 1
import subprocesssubprocess.call('C:\Windows\System32\calc.exe')
Option 2
subprocess.Popen(['C:\Windows\System32\calc.exe'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True).communicate()
Option 3
import osos.system('C:\Windows\System32\calc.exe')