我有这个变量叫做pubdate
,它来自rss提要。大多数时候这是一个时间元组,这是我想要的,所以没有错误。关于日期时间和时间的Python错误处理
有时它是一个unicode字符串,这就是它讨厌的地方。
到目前为止,我有一个关于pubdate
这下面的代码时,它是Unicode字符串:
if isinstance(pubdate, unicode):
try:
pubdate = time.mktime(datetime.strptime(pubdate, '%d/%m/%Y %H:%M:%S').timetuple()) # turn the string into a unix timestamp
except ValueError:
pubdate = re.sub(r'\w+,\s*', '', pubdate) # removes day words from string, i.e 'Mon', 'Tue', etc.
pubdate = time.mktime(datetime.strptime(pubdate, '%d %b %Y %H:%M:%S').timetuple()) # turn the string into a unix timestamp
但我的问题是,如果unicode字符串pubdate
是从一个except ValueError
子句中不同的格式它会再次提出ValueError
,处理多个ValueError
个案的pythonic方式是什么?
的'datetime'模块可以解析'Mon'为好。如果可能,发布样本输入/输出。 – luoluo
这只是个人喜好,我删除了星期一,星期二等等。一个会引发另一个“ValueError”的例子输入是'pubdate = 10/14/2015 11:11',因为它没有秒。这是我无法控制的,因为它来自rss提要。我只是无法处理由于'pubdate'格式化而发生的多个ValueError异常。 – hooliooo