Python重命名字符串

Python重命名字符串,python,split,filenames,strip,renaming,Python,Split,Filenames,Strip,Renaming,有点愚蠢的问题,但我被卡住了。所以我得到了这个 print (image_files[index].split(".")[0]).split("/")[1].split 这将提供以下输出: sun5_face_righteye 如何继续剥离或拆分字符串,以便只获得: righteye 谢谢你你可以试试: >>> s = "sun5_face_righteye" >>> s.split("_")[2] 'righteye' Edit1: >>

有点愚蠢的问题,但我被卡住了。所以我得到了这个

print (image_files[index].split(".")[0]).split("/")[1].split
这将提供以下输出:

sun5_face_righteye
如何继续剥离或拆分字符串,以便只获得:

righteye
谢谢你

你可以试试:

>>> s = "sun5_face_righteye"
>>> s.split("_")[2]
'righteye'
Edit1:

>>> s = "xxxxx-face-_tracker_face_righteye"
>>> s.split("_")[-1]
'righteye'
>>> s = "sun5_face_righteye"
>>> s.split("_face_")[0]
'sun5'
>>> s = "57268-face-_tracker_face_lefteye"
>>> s.split("_face_")[0]
'57268-face-_tracker'
Edit2:

>>> s = "xxxxx-face-_tracker_face_righteye"
>>> s.split("_")[-1]
'righteye'
>>> s = "sun5_face_righteye"
>>> s.split("_face_")[0]
'sun5'
>>> s = "57268-face-_tracker_face_lefteye"
>>> s.split("_face_")[0]
'57268-face-_tracker'

在查看文件名时,可能需要使用
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
仅获取不带扩展名的文件路径。在
\uuu
上拆分此元素并获取最后一个元素,即可获得所需的
右眼

编辑:对于评论,您可以使用以下命令获得“face_righteye”:

import os

fpath = "eyes/sun5_face_righteye.jpg"
fname = "_".join(os.path.splitext(fpath)[0].split("_")[-2:])

print fname

将索引从
-1
更改为
-2:
将得到最后两个元素的列表(而不仅仅是最后一个元素)。使用
“u”.join
用下划线重新组合这些元素。

显示
图像文件的内容
-
上再次拆分它并获取第三个element@MosesKoledoye图像\u文件提供眼睛/sun5\u面部\u右眼。jpg@Noelkd干得好!谢谢,但是我面临另一个问题,大多数图像都是:57268面-Trackras-FaseOrthyYe,在这种情况下,我怎么才能得到正义?因为你在使用路径,所以你应该考虑使用<代码> OS。谢谢,但我面临另一个问题,大多数图像都是名称:xxxxx-face-\u tracker\u face\u righteye,在这种情况下,如何仅获取右眼?xxxx正在增加numbers@TiagoSilva更新了我的答案。如果我很烦人,很抱歉,但我现在的情况不同了。从“sun5_face_righteye”或“57268 face-_tracker_face_lefteye”中,我需要删除“_face_righteye”或“_face_lefteye”是否可能@哈沙Biyani@TiagoSilva:伊迪德:又一次,又一次完美!救生员@Harsha BiyaniSorry如果我很烦人的话,但我现在的情况不同了。从sun5_face_righteye或57268 face-_tracker_face_lefteye,我需要删除“_face_righteye”或“_face_lefteye”是否可能@asongtoruin@TiagoSilva不用担心-我已经为您更新了这个(虽然没有前导下划线)