为什么python的sys.path中的第一个元素是空字符串?

typ*_*gic 11 python

我注意到,当我启动pythonREPL 时:

import sys
print(sys.path)
Run Code Online (Sandbox Code Playgroud)

列表的第一个元素是一个空字符串.这只发生在REPL中.

Ign*_*ams 7

sys.path[0]是Python可执行文件创建的条目,用于引用正在运行的脚本的目录.如果没有运行脚本,例如直接调用REPL,则添加表示当前目录的空条目.


mog*_*hya 6

该列表的第一项path[0]是包含用于调用Python解释器的脚本的目录。

如果脚本目录不可用(例如,如果交互式调用解释器或从标准输入中读取脚本),则path [0]为空字符串,该字符串将引导Python首先搜索当前目录中的模块。

根据此处的文档


Aar*_*ock 6

文档中:

如果脚本目录不可用(例如,如果交互式调用解释器或从标准输入读取脚本),则 path[0] 为空字符串

因此,当您通过命令行使用 Python 时,没有使用任何脚本,因此第一个元素表示为空字符串。