写python时,用到了日期计算。于是写了datetime.datetime(*d_startTime[0:6])这样的代码。
结果编译不通过,报 'datetime.datetime' has no attribute 'datetime'错误。
但是看了一下引用:from datetime import datetime 已经写了。而且其他地方都引用的好好的啊。
仔细看了一下,原来是这个问题:
from datetime import datetime 已经相当于把命名空间引入到datetime.datetime一层,所以
datetime.datetime(*d_startTime[0:6]) 这样的写法,会让编译器在datetime.datetime空间下去找datetime类。
但是datetime类是应该在datetime空间下的。所以就会报错了。
所以写成datetime(*d_startTime[0:6]) 就没问题了。
出现这个问题的原因主要是: 被2个相同的datetime给迷惑了,其实2个datetime不不在一个级别上的东东,一个是模块,一个是类。
另一方面:
如果写成import datetime的话。datetime.datetime(*d_startTime[0:6])这样就是正确的了。