2013-05-28 118 views
1

我被這個問題困住了。使用第一種方法工作正常,但如果我把它放在一個函數,出現錯誤:Python datetime.strptime()。timetuple() - 'str'對象不可調用

from datetime import datetime, time 
tt = datetime.strptime('09:01:24', '%H:%M:%S').timetuple() 
print time(tm[3], tm[4], tm[5]) 
//display 09:01:24 

但在功能將上面的語句顯示了一個錯誤:「海峽」對象不是可調用

from datetime import datetime, time 
def strtime_2_time(time): 
    tm = datetime.strptime(time, '%H:%M:%S').timetuple() 
    return time(tm[3], tm[4], tm[5]) 
print strtime_2_time('09:01:24') 

我在這裏想念什麼傢伙?

回答

5

您已命名參數time,它隱藏了您嘗試創建的類time。選擇一個不同的名字。

+0

謝謝你!是的,這是問題。 – rechie

+0

請將答案標爲解答:) –

+0

選中已解決!我只需要10分鐘來標記任何解決方案。 – rechie

4

已導入time

from datetime import datetime, time 

然後在函數定義你有相同的名稱

def strtime_2_time(time): 

其覆蓋名時間的參數。因此,函數time不是您從datetime模塊(類型)導入的內容,而是您作爲參數(字符串)接收到的內容。這就是錯誤的原因。

+0

謝謝!我意外地覆蓋了時間等級。 – rechie