seems to be putting quotation marks around each element of the list
passed as its second argument. This is fine for the most part, but if
the argument has a space in it, getopt (in the command being called)
will read the entire quoted string as the argument and generally fail.
Here's an example:
Python 2.2.2 (#1, Jan 30 2003, 21:26:22)
[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import os
arg0='/bin/ls'
arg1='-l foo'
args=[arg0]+[arg1]
os.execv(arg0, args)
/bin/ls: invalid option --
Try `/bin/ls --help' for more information.
This can be worked around by breaking '-l foo' into two seperate
elements ('-l' and 'foo'), but that's not always intuitive. Anyone know
why those quotes are there, and if there's a way to make them go away?
I'm stuck with execv, since this is part of a larger project for which
I'm creating a module, and modifying that portion to use os.popen,
os.system, or something similar isn't an option.
Mike Vieths