python:sys.argv [0]在官方文档中的含义

kyn*_*kos 4 python sys argv

docs.python.org引用:

" sys.argv传递给Python脚本的命令行参数列表.argv[0]是脚本名称(它是依赖于操作系统的,无论这是否是完整路径名.)如果命令是使用-c解释器的命令行选项执行的,argv[0]则设置为字符串'-c'.如果没有脚本名称传递给Python解释器,argv[0]则为空字符串."

我错过了什么,或者sys.argv[0]总是返回脚本名称,并且'-c'我必须使用sys.argv[1]

我在GNU/Linux上使用Python 3.2进行测试.

Dan*_*olo 10

不,如果您通过-c命令行运行命令调用Python ,您sys.argv[0]-c:

C:\Python27>python.exe -c "import sys; print sys.argv[0]"
-c
Run Code Online (Sandbox Code Playgroud)


sam*_*ias 7

当Python被调用的python script.py时候sys.argv[0] == 'script.py'.当你调用python -c 'import sys; print sys.argv'sys.argv[0] == '-c'表示脚本的尸体被作为命令行字符串传递.