Pietro wrote: > > Reminder for all Windows users, please note that winGRASS 7.1 no.>981 > > will be broken (calling python script from python script issue - eg. > > wxGUI Extension manager) again. > > > > 2014-06-03 7:24 GMT+02:00 <svn_gr...@osgeo.org>: > >> Author: glynn > >> Date: 2014-06-02 22:24:32 -0700 (Mon, 02 Jun 2014) > >> New Revision: 60679 > >> > >> Modified: > >> grass/trunk/lib/python/script/core.py > >> Log: > >> Remove Popen() "magic" on Windows; it creates more problems than it solves > > Please, could you explain which problems creates?
The shell doesn't simply pass its arguments to the program being executed; it may interpret them (e.g. performing redirection in the presence of |, < or > characters). For a specific example of why this is a problem, see ticket #2314. http://trac.osgeo.org/grass/ticket/2314 The quoting performed by the subprocess module (specifically, the list2cmdline() function) doesn't take this into account (i.e. it doesn't perform any additional quoting when shell=True). So either: 1. GRASS 7 will need .bat wrappers for Python scripts on Windows. That has the same issues as using shell=True, but at least it only applies in the case where we're executing a script. 2. If we know that the "program" is a script, the interpreter can be specified explicitly (i.e. "python path/to/script.py"). This keeps the shell out of the picture. -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev