我注意到,当我启动Python REPL并执行以下操作时:
import sys
print(sys.path)
列表的第一个元素是空字符串。这只会在 REPL 中发生。
我注意到,当我启动Python REPL并执行以下操作时:
import sys
print(sys.path)
sys.path[0]
是 Python 可执行文件为了指向正在运行的脚本所在目录而创建的一个入口。如果没有正在运行的脚本,例如直接调用 REPL,将会添加一个空的入口表示当前目录。
这个列表的第一项,path[0]
,是包含用于调用Python解释器的脚本的目录。
如果脚本目录不可用(例如,如果交互式地调用解释器或从标准输入读取脚本),则 path[0] 是空字符串,这将指示Python首先在当前目录中搜索模块。
根据此处的文档说明。
从文档中得知:
如果脚本目录不可用(例如,如果解释器是交互式调用的,或者从标准输入读取脚本),path [0]为空字符串
因此,当您通过命令行使用Python时,没有任何脚本被使用,所以第一个元素表示为空字符串。