how to use subprocess to execute an exe with args and an output

noydb jenn.duerr at gmail.com
Wed Jan 30 18:15:25 CET 2013


I am looking for some guidance on using subprocess to execute an EXE with arguments and an output.  The below code works in that it returns a 0 exit code, but no output file is created.  I have tried a few different versions of this code (used Popen instead, some stderr/stdout), but no luck.  Can anyone offer an explanation or suggestion?  (GPSBabel is freeware)
Python 2.7 on windows7 64-bit

import subprocess
subprocess.call([r"C:\Program Files (x86)\GPSBabel\gpsbabel.exe",
                "-i", "gdb", "-f", r"C:\Temp\GDBdata\testgps28.gdb",
                "-o", "gpx", r"C:\Temp\gpx\test28output.gpx"])

If I use this below, I get a returncode of 1, exit code of 0.
import subprocess
x = subprocess.Popen([r"C:\Program Files (x86)\GPSBabel\gpsbabel.exe",
                "-i", "gdb", "-f", r"C:\Temp\GDBdata\testgps28.gdb",
                "-o", "gpx", r"C:\Temp\gpx\test28output.gpx",
                "shell=True", "stdout=subprocess.PIPE", "stderr=subprocess.PIPE"])

x.wait()
print x.returncode

Thanks in advance for any help



More information about the Python-list mailing list