前提・実現したいこと
pythonで画像ファイル(1秒ごとに1~2枚撮影、1時間分)を、
5分毎に分ける(移動する)プログラムを作っており、
移動する際、下記のようなコードを実現したいと考えています。
python
1import shutil 2 3files = ['20190802-080000.0544.jpg', '20190802-080000.0960.jpg', ... , '20190802-085959.0063.jpg'] 4searchstr = "-0805" 5 6#searchstrと部分一致のfilesのインデックス番号を取得する 7int fileindexnum = # some code here 8 9#fileindexnumより前のファイルをto_move_pathへ移動 10shutil.move(files[:fileindexnum - 1], to_move_path)
files
という配列の中に、画像ファイルの文字列が格納されており、
任意の検索文字列 searchstr
に対して、
部分一致したインデックスの番号を取得し、fileindexnum
に格納したいです。
ネットで調べましたが、
index()
メソッドは完全一致でしか使えなかったり、部分一致するもののみ新たに配列を作って代入をしていたりと、
上記を実現するためにあまり有効なものは見つけられず、苦戦しております。
使うべき関数やメソッドなど、アドバイスをいただけないでしょうか。
お手数ですが、何卒、よろしくお願いいたします。
ファイル構造
files には 'yyyymmdd-hhmmss.0fff.jpg' というフォーマットで、
画像ファイルの文字列が保存されています。
期待する結果
python
1# searchstrと部分一致のfilesのインデックス番号 2print(fileindexnum) 3 4# (例) 5-> 1016
補足情報(ツールのバージョン)
・Python 3.7.3
回答1件
あなたの回答
tips
プレビュー