Get the complete command line as-is

Tim Golden mail at timgolden.me.uk
Thu Sep 13 10:51:03 CEST 2007


wangzq wrote:
> On Sep 12, 3:20 pm, Laurent Pointal <laurent.poin... at limsi.fr> wrote:
>> wangzq a écrit :
>>
>>> 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.
>> As Windows command-line parsing seem to remove some chars, maybe you can
>> try to use the GetCommandLine() function from Win32 API (I dont know if
>> it is available in pywin32 package - you may need to write a wrapper
>> with ctypes).
>>
>> Seehttp://msdn2.microsoft.com/en-us/library/ms683156.aspx
>>
>> A+
>>
>> Laurent.
> 
> Thank you for the tip. It works:
> 
> import ctypes
> 
> p = ctypes.windll.kernel32.GetCommandLineA()
> print ctypes.c_char_p(p).value
> 
> Now I only need to split the whole command line into 3 parts and get
> the last one.

Well, FWIW, it is exposed by pywin32:

<code>
import win32api
print win32api.GetCommandLine ()

</code>

TJG



More information about the Python-list mailing list