Python 重命名字符串
Python renaming strings
有点愚蠢的问题,但我被卡住了。所以我得到了这个
print (image_files[index].split(".")[0]).split("/")[1].split
给出以下输出:
sun5_face_righteye
我怎样才能继续剥离或拆分字符串,以便我只得到:
righteye
谢谢
你可以试试:
>>> s = "sun5_face_righteye"
>>> s.split("_")[2]
'righteye'
编辑1:
>>> 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'
当您查看文件名时,您可能希望使用 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
用下划线重新组合这些元素。
有点愚蠢的问题,但我被卡住了。所以我得到了这个
print (image_files[index].split(".")[0]).split("/")[1].split
给出以下输出:
sun5_face_righteye
我怎样才能继续剥离或拆分字符串,以便我只得到:
righteye
谢谢
你可以试试:
>>> s = "sun5_face_righteye"
>>> s.split("_")[2]
'righteye'
编辑1:
>>> 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'
当您查看文件名时,您可能希望使用 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
用下划线重新组合这些元素。