親切な質問ですが、私は立ち往生しました。Pythonの名前を変更する文字列
sun5_face_righteye
は、どのように私は、文字列を除去または分割保つことができるので、私は取得のみ:
righteye
は
親切な質問ですが、私は立ち往生しました。Pythonの名前を変更する文字列
sun5_face_righteye
は、どのように私は、文字列を除去または分割保つことができるので、私は取得のみ:
righteye
は
print (image_files[index].split(".")[0]).split("/")[1].split
を得ました
お試しください:
>>> s = "sun5_face_righteye"
>>> s.split("_")[2]
'righteye'
EDIT1:
>>> s = "xxxxx-face-_tracker_face_righteye"
>>> s.split("_")[-1]
'righteye'
EDIT2:
>>> s = "sun5_face_righteye"
>>> s.split("_face_")[0]
'sun5'
>>> s = "57268-face-_tracker_face_lefteye"
>>> s.split("_face_")[0]
'57268-face-_tracker'
は仕事をします!ありがとう、しかし、別の問題に直面しているIm、ほとんどの画像は名前です:xxxxx-face-_tracker_face_righteye、この場合、私はどのように正しいアイだけを取得しますか? xxxxが増加しています –
@TiagoSilva私の答えを更新しました。 – Harsha
これで完璧に動作します!あなたより! @Harsha Biyani –
あなたはファイル名を見ていると、あなたは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)
EXファイルパスと拡張子をトラップし、インデックス0
は拡張子のないファイルパスを取得します。 _
でこれを分割し、最後の要素を取ると、righteye
が必要になります。
EDIT:コメントを受けて、あなたは以下を使用して「face_righteye」を得ることができますが:
import os
fpath = "eyes/sun5_face_righteye.jpg"
fname = "_".join(os.path.splitext(fpath)[0].split("_")[-2:])
print fname
-1
から-2:
にGoogleのインデックスを変更ではなく(私たちの最後の二つの要素のリストを取得します最後の要素のみ)。 "_".join
を使用すると、これらの要素がアンダースコアで再結合されます。
申し訳ありません私は迷惑な場合は、私は今異なる状況になった。 sun5_face_righteyeまたは57268-face-_tracker_face_lefteye "_face_righteye"または "_face_lefteye"を削除する必要がありますか? @asongtoruin –
@TiagoSilvaは心配しない - 私はあなたのためにこれを更新しました(ただし、先頭のアンダースコアはありません) – asongtoruin
は ''に再びimage_files' –
スプリット、それをの内容を表示する-'および/三要素 – Noelkd
@MosesKoledoyeのimages_filesが目を与え得るsun5_face_righteye.jpg –