Passing data to system command

faulkner faulkner612 at comcast.net
Sun Jun 18 17:36:44 EDT 2006


import os, subprocess

xys = [[1,2],[3,4]]
msg = '\n'.join([str(x) + ',' + str(y) for x, y in xys])
os.popen('command', 'w').write(msg)
os.popen2('command')[0].write(msg)

p = subprocess.Popen('command', stdin=subprocess.PIPE)
p.stdin.write(msg)

help(subprocess)
help(os.popen)
help(os.popen3)


Chris Hieronymus wrote:
> Hi,
>
> I have a bunch of x-y data contained in an array.  I would like to
> plot the data using an
> external program (psxy in GMT).  The plotting program takes x-y
> couples as standard
> input.  How do I get the data into the system call?  I used to do
> things in csh and awk,
> i.e., something like
>
> awk '{<some manipulations here>; print $1, $2}' filename | psxy <some
> options> >! output.ps
>
> The reason I'm trying to use python is because the manipulations are
> getting too cumbersome
> in awk.  Now I have all the manipulations done in python, but I'm
> missing that last step.
>
> I've tried various things with os.system, popen, and subprocess, but
> so far without success.
> Does anyone know how to do this?
>
> chris
>
>
> ------------------------------------------------------------------------
> -------------------------------------------
> Christoph
> Hieronymus
> christoph.hieronymus at geo.uu.se
> Associate
> Professor
>         phone: (+46) 18-471 2383
> Uppsala
> University
>            fax:       (+46) 18-501   110
> Dept. of Earth Sciences (Geophysics)
> Villavägen 16
> SE-752 36 Uppsala,  Sweden




More information about the Python-list mailing list