"sys.argv
传递给 Python 脚本的命令行参数列表。argv[0]
是脚本名称(它是否为完整路径名取决于操作系统)。如果命令是使用-c
解释器的命令行选项执行的,argv[0]
则设置为字符串'-c'
。如果没有将脚本名称传递给 Python 解释器,argv[0]
则为空字符串。
我是否遗漏了什么,或者sys.argv[0]
总是返回脚本名称,并且'-c'
我必须使用sys.argv[1]
?
我正在 GNU/Linux 上使用 Python 3.2 进行测试。
"sys.argv
传递给 Python 脚本的命令行参数列表。argv[0]
是脚本名称(它是否为完整路径名取决于操作系统)。如果命令是使用-c
解释器的命令行选项执行的,argv[0]
则设置为字符串'-c'
。如果没有将脚本名称传递给 Python 解释器,argv[0]
则为空字符串。
我是否遗漏了什么,或者sys.argv[0]
总是返回脚本名称,并且'-c'
我必须使用sys.argv[1]
?
我正在 GNU/Linux 上使用 Python 3.2 进行测试。
不,如果您调用 Python with-c
从命令行运行命令,您sys.argv[0]
将是-c
:
C:\Python27>python.exe -c "import sys; print sys.argv[0]"
-c
当 Python 被调用为python script.py
then sys.argv[0] == 'script.py'
。当您调用python -c 'import sys; print sys.argv'
then时sys.argv[0] == '-c'
,指示脚本主体在命令行上作为字符串传递。
python -c
执行在命令行上传递的命令,而不是文件中的脚本。 sys.argv[0]
将设置为"-c"
。
如果您运行带有标志的脚本-c
,则 yes,sys.argv[1]
将设置为"-c"
并将sys.argv[0]
设置为脚本的名称。