当多个目录需要连接在一起,例如可执行文件的搜索路径时,会使用一个与操作系统相关的分隔符。在Windows中是';'
,在Linux中是':'
。在Python中有没有一种方法可以获取要拆分的字符?
在讨论此问题如何使用Python找到我的Python路径?中,建议使用os.sep
。该答案是错误的,因为它是用于目录或文件名组件的分隔符,相当于'\\'
或'/'
。
当多个目录需要连接在一起,例如可执行文件的搜索路径时,会使用一个与操作系统相关的分隔符。在Windows中是';'
,在Linux中是':'
。在Python中有没有一种方法可以获取要拆分的字符?
在讨论此问题如何使用Python找到我的Python路径?中,建议使用os.sep
。该答案是错误的,因为它是用于目录或文件名组件的分隔符,相当于'\\'
或'/'
。
这是 os.pathsep。
好的,所以有:
os.pathsep
是 ;
,它是 PATH
环境变量中的分隔符;os.path.sep
在 Unix/Linux 中是 /
,在 Windows 中是 \
,它是路径组件之间的分隔符。这种相似性会导致混淆。
os.path.sep
是另一个问题的答案。 - Mark Ransom更明确地说(适合像我这样的Python新手)
import os
print(os.pathsep)
import os
my = os.pathsep+ "testImages" + os.pathsep + "imageHidden.png"
print(my)
Linux 的输出 -
:testImages:imageHidden.png
Windows系统的输出-
;testImages;imageHidden.png
os.sep
或os.path.sep
。 - Perryos.pathsep
的值是:
或;
,而os.path.sep
的值则是\\
或/
。有时候我觉得 Python 中的变量名选择非常糟糕,那个点号让区别太大了。 - ArtOfWarfareos.sep
和os.path.sep
,它们是相等的,还有os.pathsep
和os.path.pathsep
也是相等的。为什么会这样做呢? - BallpointBen