从string,python中提取子串

时间:2015-02-20 14:48:06

标签: python string

我有一个文件的路径:

'home/user/directory/filename'

我想要获得filename - 子部分。主要问题是,我不知道我的字符串的长度,我不知道filename - 子部分的长度。我知道只有文件名放在最后斜杠/之后的字符串末尾。字符串中的斜杠数量可以是绝对随机的(因为我想从某些PC上的每个目录中获取文件名)。 因此,我现在还没有看到索引提取的常用方法,如下所示:

string[number:]

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

要使用os.path.basename来获取基本名称:

  

返回路径名路径的基本名称。这是通过将路径传递给函数split()

返回的对的第二个元素
from os import path

pth = 'home/user/directory/filename'
print(path.basename(pth))
filename

str.rsplit

 print(pth.rsplit("/",1)[1])
 filename

如果您尝试索引最后一次出现的字符串,则使用rindex:

print(pth[pth.rindex("/") + 1:])

答案 1 :(得分:4)

你也可以试试这个,

>>> import os
>>> s = 'home/user/directory/filename'
>>> os.path.split(s)[1]
'filename'