Why is the first element in python's sys.path an empty string?

前端 未结 3 1095
孤城傲影
孤城傲影 2020-12-06 05:34

I noticed, when I launch python REPL and do:

import sys
print(sys.path)

The first element of the list is an empty string. This

相关标签:
3条回答
  • 2020-12-06 05:55

    the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter.

    If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string, which directs Python to search modules in the current directory first.

    As per documentation here

    0 讨论(0)
  • 2020-12-06 06:01

    From the docs

    If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string

    So, when you're using python through the command line, there is no script being used so the first element is represented as an empty string.

    0 讨论(0)
  • 2020-12-06 06:05

    sys.path[0] is an entry created by the Python executable to refer to the directory of the script being run. If no script is being run, e.g. the REPL has been invoked directly, an empty entry representing the current directory is added.

    0 讨论(0)
提交回复
热议问题