【问题标题】:How to check if a path is in PYTHONPATH?如何检查路径是否在 PYTHONPATH 中?
【发布时间】:2020-07-27 21:52:04
【问题描述】:

如何检查路径是否在 PYTHONPATH 中?

我已经尝试过:

def path_is_in_pythonpath(path):
    return str(path) in sys.path

但有时在 Windows 上运行时它不起作用。路径在 PYTHONPATH 中,但检查返回 False。

【问题讨论】:

    标签: python path pythonpath sys.path


    【解决方案1】:

    事实证明,Windows 路径不区分大小写。这甚至适用于驱动器字母,尽管它们总是大写字母,但有时可能是小写字母。

    os.path.normcase 负责将 Windows 路径适当地标准化为小写。

    这将正确检查path 是否在PYTHONPATH 中,独立于操作系统:

    def path_is_in_pythonpath(path):
        path = os.path.normcase(path)
        return any(os.path.normcase(sp) == path for sp in sys.path)
    

    【讨论】:

      猜你喜欢
      • 2014-02-20
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      相关资源
      最近更新 更多