[GRASS-user] python pipe Popen to grass.<?>_command
Chris Carleton
w_chris_carleton at hotmail.com
Thu Feb 17 22:54:29 EST 2011
Generally, this is the form that I use for python scripts and popen
(these examples are directly from working scripts of mine, but of
course you'll have to adapt them):
subprocess.Popen(
"v.type input=%(a)s output=%(b)s type=point,centroid --overwrite" %
{'a':VECT,'b':'temp_centroid'},
shell=True,
stdout=subprocess.PIPE,).communicate()[0]
or if I don't need to capture data from a GRASS process I use this:
subprocess.call([
"v.db.update",
"map=%s" % vect,
"layer=1","column=%s" % column,
"value=%s" % value,
"where=cat=%s" % cat,])
Chris
On 17 February 2011 20:36, Peter Tittmann <ptittmann at gmail.com> wrote:
> Greetings,
> I'm attempting to pipe the results from:
> pts=sub.Popen('las2txt -i %s --parse xyz --keep-classes 2 --delimiter "|"
> --stdout'%path, shell=True, stdout=sub.PIPE)
>
> to the appropriate grass.?_command('r.in.xyz', etc...)
> i've tried the following:
> mkInRast=grass.feed_command("r.in.xyz", input=pts.communicate()[0],
> output='tester', method='mean')
> which results in:
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/usr/lib/grass64/etc/python/grass/script/core.py", line 198, in
> feed_command
> return start_command(*args, **kwargs)
> File "/usr/lib/grass64/etc/python/grass/script/core.py", line 148, in
> start_command
> return Popen(args, **popts)
> File "/usr/lib/grass64/etc/python/grass/script/core.py", line 53, in
> __init__
> startupinfo, creationflags)
> File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
> errread, errwrite)
> File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
> raise child_exception
> OSError: [Errno 7] Argument list too long
> Im pretty sure i'm missing something about how the Popen pipes are accessed
> between these two commands. Any suggestions would be most welcome.
> Best,
> Peter
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
More information about the grass-user
mailing list