Get the complete command line as-is

TheFlyingDutchman zzbbaadd at aol.com
Wed Sep 12 01:00:29 EDT 2007


On Sep 11, 8:33 pm, TheFlyingDutchman <zzbba... at aol.com> wrote:
> On Sep 11, 8:00 pm, wangzq <wan... at gmail.com> wrote:
>
> > Hello,
>
> > I'm passing command line parameters to my browser, I need to pass the
> > complete command line as-is, for example:
>
> > test.py "abc def" xyz
>
> > If I use ' '.join(sys.argv[1:]), then the double quotes around "abc
> > def" is gone, but I need to pass the complete command line ("abc def"
> > xyz) to the browser, how can I do this?
>
> > I'm on Windows.
>
> > Thanks.
>
> I'm on Solaris and this works for me:
>
> test.py '"abc def" xyz'
>
> print sys.arv[1]
>
> "abc def" xyz

OK, now I'm on Windows XP and things aren't looking too good.

It seems that \" will retain the quote marks but then the spaces get
gobbled.

But if you replace the spaces with another character:

python.exe test.py  \"abc#def\"#123

then:

import sys
commandLine = "".join(sys.argv[1:])

prints commandLine.replace('#',' ')

gives:

"abc def" 123

Don't know if you can use that technique or not.




More information about the Python-list mailing list