我有一个文件的路径:
'home/user/directory/filename'
我想要获得filename
- 子部分。主要问题是,我不知道我的字符串的长度,我不知道filename
- 子部分的长度。我知道只有文件名放在最后斜杠/
之后的字符串末尾。字符串中的斜杠数量可以是绝对随机的(因为我想从某些PC上的每个目录中获取文件名)。
因此,我现在还没有看到索引提取的常用方法,如下所示:
string[number:]
有什么想法吗?
答案 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'