On 11/06/15 20:05, Anna Petrášová wrote:
On Thu, Jun 11, 2015 at 1:46 PM, Moritz Lennert <[email protected] <mailto:[email protected]>> wrote: On 11/06/15 19:02, Nikos Alexandris wrote: * Moritz Lennert <[email protected] <mailto:[email protected]>> [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 suppose this is ARG_MAX ? getconf ARG_MAX 2097152 A text file with all file names only uses 144551 bytes. Or is there another limit I should look at ? 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)? Yes, thanks, I can do that. I'll also try the file option mentioned by Anna (r.series actually has one). Didn't think of that. Oh, I didn't know that it already has it. Good to know!
And, just for info, it solves my problem beautifully. Moritz _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
