【问题标题】:Is there any way I can specify the platform for os.path?有什么方法可以为 os.path 指定平台吗?
【发布时间】:2016-05-10 00:57:28
【问题描述】:

我是windows下,但是需要处理一些unix风格的路径,比如:

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

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

【问题讨论】:

  • 试试os.path.abspath('prj/vl')

标签: python python-2.7


【解决方案1】:

os.path 是不同的模块,具体取决于您的操作系统。正如os.path 文档中的documented,您可以显式导入Unix 样式路径的版本:

import posixpath

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

【讨论】:

    【解决方案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

    【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2019-06-05
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2015-10-15
      相关资源
      最近更新 更多