2016-05-09 65 views
2

我在Windows下,但我需要处理一些UNIX风格的路径,如:有什么办法可以指定os.path的平台吗?

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

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

+0

尝试'os.path.abspath则( 'PRJ/VL')' – heinst

回答

4

os.path是一个不同的模块,具体取决于您的操作系统。由于os.path文档中documented,你可以明确地导入Unix类路径的版本:

import posixpath 

其他版本ntpath的Windows路径,macpath适用于旧的MacOS的路径,并os2emxpath用于OS/2 EMX路径。

1

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

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:1从https复制://文档。 python.org/2/library/os.path.html,我认为应该引用 – CherryDT

+0

确定的事情。 DONE –

相关问题