如何在 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】:os.pathsep
【讨论】:
如果您像我一样没有阅读此问题的正文而只是看标题,您会认为这是分隔 文件系统路径的元素的字符(Linux 和 MacOSX 上的正斜杠,Windows 上的反斜杠)。不是,它是分隔用于定位可执行命令的 shell PATH 元素的字符。os.sep
或 os.path.sep
是您需要的文件系统路径。
os.pathsep
是 :
或 ;
而 os.path.sep
是 \\
或 /
- 有时 Python 中的名称让我觉得选择得非常糟糕。 .
的差别太大了。
@Perry 我编辑了这个问题。希望我的编辑消除了混乱(我表示这个问题是在询问“PATH 环境变量”而不是“文件系统路径”)。
所以有os.sep
和os.path.sep
,它们是相等的,还有os.pathsep
和os.path.pathsep
也是相等的。他们为什么要这样做?【参考方案2】:
是os.pathsep
【讨论】:
【参考方案3】:让它更明确一点(对于像我这样的 python 新手)
import os
print(os.pathsep)
【讨论】:
【参考方案4】:好的,所以有:
os.pathsep
即;
并且是PATH
环境变量中的分隔符;
os.path.sep
即 Unix/Linux 中的 /
和 Windows 中的 \
,它是路径组件之间的分隔符。
相似性是混淆的根源。
【讨论】:
你读过这个问题吗?os.path.sep
是一个不同问题的答案。
你是对的,谢谢!我的困惑来自这样一个事实,即实际上我正在寻找 '\' 和 '/' 系统特定的分隔符(即 os.path.sep),而此页面被提议作为搜索结果之一。【参考方案5】:
这是您的工作目录/特定文件夹的示例路径 -
import os
my = os.pathsep+ "testImages" + os.pathsep + "imageHidden.png"
print(my)
Linux 输出-
:testImages:imageHidden.png
Windows 输出-
;testImages;imageHidden.png
【讨论】:
以上是关于如何在 Python 中获取 PATH 环境变量分隔符?的主要内容,如果未能解决你的问题,请参考以下文章