Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #37951

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

Date 2013-01-30 18:11 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: how to use subprocess to execute an exe with args and an output
References <7c1ddf67-5a76-4e11-8ff9-1a60ef35d102@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.1222.1359569513.2939.python-list@python.org> (permalink)

Show all headers | View raw


On 2013-01-30 17:15, noydb 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 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
>
The second example is incorrect. The parts starting from "shell" are
supposed to be further arguments for Popen itself, not something passed
to "gpsbabel.exe":

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)

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

how to use subprocess to execute an exe with args and an output noydb <jenn.duerr@gmail.com> - 2013-01-30 09:15 -0800
  Re: how to use subprocess to execute an exe with args and an output noydb <jenn.duerr@gmail.com> - 2013-01-30 09:19 -0800
  Re: how to use subprocess to execute an exe with args and an output Chris Rebert <clp2@rebertia.com> - 2013-01-30 09:57 -0800
  Re: how to use subprocess to execute an exe with args and an output MRAB <python@mrabarnett.plus.com> - 2013-01-30 18:11 +0000
  Re: how to use subprocess to execute an exe with args and an output noydb <jenn.duerr@gmail.com> - 2013-01-30 10:40 -0800
  Re: how to use subprocess to execute an exe with args and an output Terry Reedy <tjreedy@udel.edu> - 2013-01-30 14:58 -0500

csiph-web