我試圖學習python之後,花了最近15年左右的工作只在Perl中,只有偶爾。處理來自parsedatetime的不同結果
我不明白如何從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
而這個樣本來看:
輸入文本:明日
(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)
我無法弄清楚如何獲得輸出,這樣我可以consisently使用效果,像這樣:
print result[0].tm_mon, result[0].tm_mday
這不會在輸入是這樣工作的「11/28」,因爲輸出僅僅是一個元組而不是struct_time。
可能是一個簡單的事情..但不是這個新手。從我的角度來看,Calendar.parse()的輸出是不可預測的,很難使用。任何幫助讚賞。蒂亞。
謝謝。這讓我越過了我的障礙。 也許我應該問是否parsedatetime是解析人類格式化日期的首選方法(例如「下一個星期二」)。這是我發現的,但對於評估圖書館聲譽的Python社區來說,新手還是很難。 http://code.google.com/p/parsedatetime/ http://code-bear.com/code/parsedatetime/ – golliher 2009-11-27 20:12:10
parsedatetime根據解析的文本返回一個具有適當日期/時間值的元組。我寫了它來返回一個時間,日期或日期時間,以便調用者只會獲得文本中存在的信息 - 如果我總是返回一個日期時間項目,那麼我將不得不填寫可能不存在的項目的值。 這有點奇怪,但它爲我們(OSAF)回來時,當我寫它:) – bear 2013-03-11 01:17:44