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

Mar*_*som 152 python operating-system environment-variables

当需要连接多个目录时,如在可执行搜索路径中,存在与os相关的分隔符.对于Windows来说';',对于Linux来说就是这样':'.Python中是否有一种方法可以分割哪个字符?

在讨论这个问题时如何使用python找出我的python路径?,建议os.sep会这样做.答案是错误的,因为它是目录或文件名组件的分隔符,等同于'\\''/'.

Sil*_*ost 216

os.pathsep

  • 如果,像我一样,你没有阅读这个问题的正文,只是按标题去了,你会认为这是分隔**文件系统路径的元素的字符**(Linux和MacOSX上的正斜杠,反斜杠在Windows上).它不是,它是用于分隔用于定位可执行命令的shell**PATH**的元素的字符.`os.sep`或`os.path.sep`是文件系统路径所需要的. (214认同)
  • `os.pathsep`是`:`或`;`而`os.path.sep`是`\\`或`/` - 有时Python中的名字让我觉得选择得非常糟糕.那个`.`太过分了. (67认同)
  • @Perry我编辑了这个问题。希望我的编辑能够消除混乱(我指出这个问题是询问“PATH 环境变量”而不是“文件系统路径”)。 (2认同)

Dav*_*sta 32

它是os.pathsep


Ner*_*rve 12

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

import os
print(os.pathsep)
Run Code Online (Sandbox Code Playgroud)


小智 9

好的,所以有:

  • os.pathsep;和 是PATH环境变量中的分隔符;
  • os.path.sep/在Unix / Linux和\Windows中,这是路径成分之间的隔板。

相似性是混淆的根源。