【发布时间】:2018-03-29 22:56:35
【问题描述】:
我注意到,当我启动 python REPL 并执行以下操作时:
import sys
print(sys.path)
列表的第一个元素是一个空字符串。这只发生在 REPL 中。
【问题讨论】:
标签: python
我注意到,当我启动 python REPL 并执行以下操作时:
import sys
print(sys.path)
列表的第一个元素是一个空字符串。这只发生在 REPL 中。
【问题讨论】:
标签: python
sys.path[0] 是由 Python 可执行文件创建的条目,用于引用正在运行的脚本的目录。如果没有脚本正在运行,例如REPL 已被直接调用,添加了一个表示当前目录的空条目。
【讨论】:
此列表的第一项,path[0],是包含用于调用 Python 解释器的脚本的目录。
如果脚本目录不可用(例如,如果交互调用解释器或从标准输入读取脚本),path[0] 是空字符串,它指示 Python 首先搜索当前目录中的模块。
根据文档here
【讨论】:
来自docs
如果脚本目录不是 可用(例如,如果解释器是交互式调用的,或者如果 脚本是从标准输入中读取的),path[0] 是空字符串
因此,当您通过命令行使用 python 时,没有使用脚本,因此第一个元素表示为空字符串。
【讨论】: