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

Chris Rebert clp2 at rebertia.com
Wed Jan 30 12:57:24 EST 2013


On Wed, Jan 30, 2013 at 9:15 AM, noydb <jenn.duerr at gmail.com> wrote:
> 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 my cursory reading of GPSBabel's documentation is right, you're
missing a "-F" before the output filepath. Try:

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

Regards,
Chris



More information about the Python-list mailing list