我在Windows下,但我需要处理一些unix风格的路径,例如:
In[4]: os.path.abspath('/prj/vl')
Out[4]: 'C:\\prj\\vl'
这不是我想要的正确输出。所以我想知道是否有一种方法可以强制os.path
在Unix下工作?即我想看看是否有类似的内容:os.path.setos('Linux')
答案 0 :(得分:4)
os.path
是一个不同的模块,具体取决于您的操作系统。作为os.path
文档中的documented,您可以显式导入Unix风格路径的版本:
import posixpath
Windows路径为ntpath
,旧式MacOS路径为macpath
,OS / 2 EMX路径为os2emxpath
。
答案 1 :(得分:2)
由于不同的操作系统具有不同的路径名约定,因此python标准库中有多个此模块版本。 os.path
模块始终是适用于Python运行的操作系统的路径模块,因此可用于本地路径。但是,如果要操作始终采用不同格式之一的路径,也可以导入和使用单个模块。它们都有相同的界面:
`posixpath` for UNIX-style paths
`ntpath` for Windows paths
`macpath` for old-style MacOS paths
`os2emxpath` for OS/2 EMX paths
答案 2 :(得分:1)
您可以使用posixpath
代替os.path
- 实际上,os.path
使用posixpath
或ntpath
,具体取决于系统。