On Mon, Dec 5, 2016 at 4:03 PM, Paul Moore <[email protected]> wrote:
> 2. On Windows, the OS primitive takes a command line. The application is
> responsible for splitting it into arguments, if it wants to. Most do, for
> compatibility with the normal argv convention inherited via C from Unix. Many
> programs let the C runtime do that splitting for them - I don't recall if
> Python
> does, or if it implements its own splitting these days.
Windows Python uses the CRTs parsed argument list. python.exe simply
uses the wmain entry point:
int
wmain(int argc, wchar_t **argv)
{
return Py_Main(argc, argv);
}
pythonw.exe uses the wWinMain entry point and the CRT's __argc and
__wargv variables:
int WINAPI wWinMain(
HINSTANCE hInstance, /* handle to current instance */
HINSTANCE hPrevInstance, /* handle to previous instance */
LPWSTR lpCmdLine, /* pointer to command line */
int nCmdShow /* show state of window */
)
{
return Py_Main(__argc, __wargv);
}
python[w].exe doesn't link in wsetargv.obj, so it doesn't support
wildcard expansion.
--
https://mail.python.org/mailman/listinfo/python-list