有什么办法可以为os.path指定平台吗?

时间:2016-05-09 16:45:30

标签: python python-2.7

我在Windows下,但我需要处理一些unix风格的路径,例如:

In[4]: os.path.abspath('/prj/vl')
Out[4]: 'C:\\prj\\vl'

这不是我想要的正确输出。所以我想知道是否有一种方法可以强制os.path在Unix下工作?即我想看看是否有类似的内容:os.path.setos('Linux')

3 个答案:

答案 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

参考:https://docs.python.org/2/library/os.path.html

答案 2 :(得分:1)

您可以使用posixpath代替os.path - 实际上,os.path使用posixpathntpath,具体取决于系统。