有点愚蠢的问题,但我卡住了。所以我得到了这个
print (image_files[index].split(".")[0]).split("/")[1].split
给出以下输出:
sun5_face_righteye
我怎样才能继续剥离或分割字符串,所以我只得到:
righteye
谢谢
答案 0 :(得分:2)
当您查看文件名时,您可能希望使用os.path.splitext
:
import os
fpath = "eyes/sun5_face_righteye.jpg"
fname = os.path.splitext(fpath)[0].split("_")[-1]
print fname
os.path.splitext(fname)
提取文件路径和扩展名,其中索引0
只获取没有扩展名的文件路径。在_
拆分并获取最后一个元素会获得您需要的righteye
。
编辑:在回复评论时,您可以使用以下内容获取“face_righteye”:
import os
fpath = "eyes/sun5_face_righteye.jpg"
fname = "_".join(os.path.splitext(fpath)[0].split("_")[-2:])
print fname
将我们的索引从-1
更改为-2:
会获得最后两个元素的列表(而不是最后一个元素)。使用"_".join
将这些元素与下划线重新组合。
答案 1 :(得分:0)
你可以尝试:
>>> s = "sun5_face_righteye"
>>> s.split("_")[2]
'righteye'
<强> EDIT1:强>
>>> s = "xxxxx-face-_tracker_face_righteye"
>>> s.split("_")[-1]
'righteye'
编辑2:
>>> s = "sun5_face_righteye"
>>> s.split("_face_")[0]
'sun5'
>>> s = "57268-face-_tracker_face_lefteye"
>>> s.split("_face_")[0]
'57268-face-_tracker'