Python datetime.strptime()。timetuple() - 'str'对象不可调用

时间:2013-05-28 04:24:34

标签: python

我遇到了这个问题。使用第一种方法工作正常,但如果我把它放在一个函数中,就会发生错误:

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

但是将上述语句放在函数中会显示错误:' str'对象不可调用

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')

我在这里想念的是什么?

2 个答案:

答案 0 :(得分:5)

您已将参数time命名为隐藏您尝试创建的班级time。选择其他名称。

答案 1 :(得分:3)

您已导入time

from datetime import datetime, time

然后在函数定义中有一个具有相同名称的参数

def strtime_2_time(time):

会覆盖名称时间。因此,函数time内部不是您从datetime模块(类型)导入的内容,而是您作为参数(字符串)收到的内容。这就是错误的原因。