如何用斜杠拆分路径?

时间:2014-04-02 07:11:36

标签: python

我需要在我的app中添加和拆分路径。我想在windows和linux上使用这个应用程序。这是我添加路径的代码

 path = os.path.join(dir0,dir1,dir2,fn)

但是当我分裂斜线时,我遇到了问题。因为

Windows中的路径如下:

dir0\dir1\dir2\fn

linux中的路径

dir0/dir1/dir2/fn

现在我如何使用单个代码拆分路径(不使用其他平台/平台独立时更改代码)

2 个答案:

答案 0 :(得分:6)

您可以使用os.sep

import os
path_string.split(os.sep)

有关详细信息,请查看doc

  

os.path.join(path1 [,path2 [,...]])   智能地加入一个或多个路径组件。如果任何组件是绝对路径,则抛弃所有先前组件(在Windows上,包括之前的驱动器号,如果有的话),并继续加入。返回值是path1和可选的path2等的串联,在除了最后一个之外的每个非空部分之后只有一个目录分隔符(os.sep)。 (这意味着空的最后一部分将导致以分隔符结尾的路径。)请注意,在Windows上,因为每个驱动器都有一个当前目录,所以os.path.join(“c:”,“foo”)表示相对于驱动器C上当前目录的路径:(c:foo),而不是c:\ foo。

答案 1 :(得分:5)

使用os.path.split。它是一种独立于系统的分割路径的方法。请注意,这只会分为(head, tail)。要获取所有单个部分,您需要递归分割head或使用str.split作为分隔符使用os.path.sep