Quoting from docs.python.org:
"sys.argv
The list of command line arguments passed to a Python script. argv[0]
is the script name (it is operating system dependent whether this is a full pathname or not). If the command was executed using the -c
command line option to the interpreter, argv[0]
is set to the string '-c'
. If no script name was passed to the Python interpreter, argv[0]
is the empty string."
Am I missing something, or sys.argv[0]
always returns the script name, and to get '-c'
I'd have to use sys.argv[1]
?
I'm testing with Python 3.2 on GNU/Linux.
No, if you invoke Python with -c
to run commands from the command line, your sys.argv[0]
will be -c
:
C:\Python27>python.exe -c "import sys; print sys.argv[0]"
-c