有没有办法让datetime.strptime()
在解析失败时给我一个默认值(None
in this case)? 我有一个从文件中获取的用户输入数据,其中日期格式可能不正确。 日期应该是mm/dd/yy的形式,但有些人将它们放在了dd/mm/yy上。 所以文件可能看起来像这样:
user1 01/30/14
user2 02/19/12
user3 27/02/11
我不需要考虑格式错误的日期,所以我可以直接返回None
。 我知道可以使用以下代码来实现:
try:
return datetime.strptime(row[1], '%m/%d/%y')
except:
return None
但我希望有更优雅的解决方案。这里有人知道解决方法吗?
提前感谢。
strptime
引发的特定异常,而不是使用裸露的except:
(会捕获所有异常)。 - user255545110/11/12
应该被解析为什么? - jonrsharpe