如何在 Python 中获取 PATH 环境变量分隔符?

Posted

技术标签:

【中文标题】如何在 Python 中获取 PATH 环境变量分隔符?【英文标题】:How to get the PATH environment-variable separator in Python? 【发布时间】:2010-12-02 17:03:25 【问题描述】:

当需要连接多个目录时,例如在可执行搜索路径中,有一个依赖于操作系统的分隔符。对于 Windows,它是 ';',对于 Linux,它是 ':'。在 Python 中有没有办法获取要拆分的字符?

在对这个问题How do I find out my python path using python?的讨论中,建议os.sep会这样做。这个答案是错误的,因为它是目录或文件名的组成部分的分隔符,相当于'\\''/'

【问题讨论】:

【参考方案1】:

这是您的工作目录/特定文件夹的示例路径 -

 import os
 my = os.pathsep+ "testImages" + os.pathsep + "imageHidden.png"
 print(my)

Linux 输出-

:testImages:imageHidden.png

Windows 输出-

;testImages;imageHidden.png

【讨论】:

【参考方案2】:

好的,所以有:

os.pathsep; 并且是PATH 环境变量中的分隔符; os.path.sep 即 Unix/Linux 中的 / 和 Windows 中的 \,它是路径组件之间的分隔符。

相似性是混淆的根源。

【讨论】:

你读过这个问题吗? os.path.sep 是一个不同问题的答案。 你是对的,谢谢!我的困惑来自这样一个事实,即实际上我正在寻找 '\' 和 '/' 系统特定的分隔符(即 os.path.sep),而此页面被提议作为搜索结果之一。【参考方案3】:

让它更明确一点(对于像我这样的 python 新手)

import os
print(os.pathsep)

【讨论】:

【参考方案4】:

是os.pathsep

【讨论】:

【参考方案5】:

os.pathsep

【讨论】:

如果您像我一样没有阅读此问题的正文而只是看标题,您会认为这是分隔 文件系统路径的元素的字符(Linux 和 MacOSX 上的正斜杠,Windows 上的反斜杠)。不是,它是分隔用于定位可执行命令的 shell PATH 元素的字符。 os.sepos.path.sep 是您需要的文件系统路径。 os.pathsep:;os.path.sep\\ / - 有时 Python 中的名称让我觉得选择得非常糟糕。 . 的差别太大了。 @Perry 我编辑了这个问题。希望我的编辑消除了混乱(我表示这个问题是在询问“PATH 环境变量”而不是“文件系统路径”)。 所以有os.sepos.path.sep,它们是相等的,还有os.pathsepos.path.pathsep也是相等的。他们为什么要这样做?

以上是关于如何在 Python 中获取 PATH 环境变量分隔符?的主要内容,如果未能解决你的问题,请参考以下文章

在Postman中如何获取环境变量?

如何在不扩展令牌的情况下获取 PATH 环境变量的值?

python需要配置环境变量吗

如何获取和打印环境变量的值?

如何配置python的环境变量

python-----环境变量