[GRASS-dev] how to work around "Arument list too long" error in a GRASS python script ?
Nikos Alexandris
nik at nikosalexandris.net
Thu Jun 11 10:02:15 PDT 2015
* Moritz Lennert <mlennert at club.worldonline.be> [2015-06-11 18:37:36 +0200]:
> Hello,
>
> In a python script I have the following call:
>
> grass.run_command('r.series',
> input = rate_maps,
> output = sum_rates,
> method = 'sum',
> overwrite = True,
> quiet=True)
>
> rate_maps is a list which in one instance contains 8559 map names,
> leading to an "OSError: [Errno 7] Argument list too long".
>
> I know that in the shell I could use xargs to work around such a
> problem. But how to do this in python ?
What it the OS limit for it?
>
> I could obviously loop through all maps and thus sum them individually,
> but this just seems horribly inefficient.
>
> Does anyone have a better solution ?
- Maybe split in two or three sessions (instead of looping over all)?
- Have you seen this
<https://gist.github.com/max-nova/487a82de00651a33f2c2#file-grass_demo-py-L28>
Nikos
More information about the grass-dev
mailing list