【问题标题】:Why is the first element in python's sys.path an empty string?为什么 python 的 sys.path 中的第一个元素是空字符串?
【发布时间】:2018-03-29 22:56:35
【问题描述】:

我注意到,当我启动 python REPL 并执行以下操作时:

import sys
print(sys.path)

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

【问题讨论】:

标签: python


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    根据文档here

    【讨论】:

    • 文档链接加 1。
    【解决方案3】:

    来自docs

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 1970-01-01
      • 2017-07-28
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多