python: sys.argv[0] meaning in official documentation

发布于 2021-01-29 14:10:35

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.

关注者
0
被浏览
114
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看