2014-04-02 55 views
2

我有添加和分离路径的要求在我app.I想用这个应用程序在Windows上工作,linux.Here是我的代码添加路径如何用斜杠分割路径?

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

但是,当我与斜线分割我是。因为

路径所面临的问题在Windows中,如:

dir0\dir1\dir2\fn 

Linux中的路径一样

dir0/dir1/dir2/fn 

现在哪有

+1

你确定这是个问题吗? – msvalkon

+0

只要你有dir0,dir1,dir2,fn,你为什么需要飞溅?这些不是溅水路径的元素吗? –

+0

@ msvalkon,是的,这些都是我的文件的路径的一部分,所以我需要保存我的路径在数据库中,后来我想分开该静态向前的路径显示该图像在网页 – Shiva

回答

5

使用os.path.split(同时使用其他平台/平台独立改变代码出来)我分裂与单码的路径。这是一种独立于系统的方式来分割路径。请注意,这只能分成(head, tail)。要获取所有单个部分,需要递归地分割head或使用str.split,并使用os.path.sep作为分隔符。

+0

,谢谢。那么如何把尾部变成一个变量 – Shiva

+0

头,尾= os.path.split(路径) –

+0

谢谢大哥,它的工作。我想你是来自印度。再次感谢你 – Shiva

5

您可以使用os.sep

只是

import os 
path_string.split(os.sep) 

欲了解更多信息,看doc

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

相关问题