我在过去的15年中只使用Perl进行工作,偶尔尝试一下,现在我正在努力学习Python。
我无法理解如何处理Calendar.parse()方法从parsedatetime返回的两种不同类型的结果。
给定以下脚本:
#!/usr/bin/python
import parsedatetime.parsedatetime as pdt
import parsedatetime.parsedatetime_consts as pdc
import sys
import os
# create an instance of Constants class so we can override some of the defaults
c = pdc.Constants()
# create an instance of the Calendar class and pass in our Constants # object instead of letting it create a default
p = pdt.Calendar(c)
while True:
reply = raw_input('Enter text:')
if reply == 'stop':
break
else:
result = p.parse(reply)
print result
print
以下是样例运行结果:
输入文本:tomorrow
(time.struct_time(tm_year=2009, tm_mon=11, tm_mday=28, tm_hour=9, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=332, tm_isdst=-1), 1)输入文本:11/28
((2009, 11, 28, 14, 42, 55, 4, 331, 0), 1)
我不知道如何获取输出结果,以便我可以始终像这样使用结果:
print result[0].tm_mon, result[0].tm_mday
如果输入是"11/28",那么这种方法就不适用,因为输出只是一个元组而不是struct_time结构体。
也许对于经验不足的新手来说,这很简单。但从我的角度来看,Calendar.parse()的输出是不可预测且难以使用的。任何帮助都将不胜感激。谢谢。