我正在使用 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')
现在我应该能够从下划线之后删除所有内容,但如果可能的话,我想要一个更强大的解决方案,以防我有其他格式的图片。我虽然模糊会尝试在字符串中找到任何日期并与之匹配,但显然不起作用......
有没有一种简单的方法可以让解析器找到任何看起来像日期的东西并在此之后停止?如果不是,那么强制解析器忽略下划线之后的所有内容的最简单方法是什么?或者一种使用忽略部分定义多种日期格式的方法。
谢谢!