dateutil を使用して画像ファイル名を解析し、日付に従って並べ替えています。すべての写真にメタデータがあるわけではないため、dateutil はそれらをどこに配置するかを推測しようとしています。
私の写真のほとんどはこの形式です: 2007-09-10_0001.jpg 2007-09-10_0002.jpg など...
fileName = os.path.splitext(file)[0]
print("Guesssing date from ", fileName)
try:
dateString = dateParser.parse(file, fuzzy=True)
print("Guessed date", dateString)
year=dateString.year
month = dateString.month
day=dateString.day
except ValueError:
print("Unable to determine date of ", file)
私が得ているリターンはこれです:
('Guesssing date from ', '2007-09-10_00005')
('Unable to determine date of ', '2007-09-10_00005.jpg')
これで、アンダースコアの後ろからすべてを削除できるはずですが、別の形式の写真がある場合に備えて、可能であればより堅牢なソリューションが必要でした. 私はファジーが文字列内の任意の日付を見つけてそれに一致させようとしましたが、明らかに機能していません...
パーサーに日付のように見えるものを見つけさせ、その後停止させる簡単な方法はありますか? そうでない場合、パーサーにアンダースコアの後のすべてを無視させる最も簡単な方法は何ですか? または、無視セクションを使用して複数の日付形式を定義する方法。
ありがとう!