Datetime è un modulo che consente la manipolazione di date, orari e datetimes (che sono tutti tipi di dati). Ciò significa che datetime
è sia un modulo di primo livello sia un tipo all'interno di quel modulo. Questo è confusionario.
Il tuo errore si basa probabilmente sulla confusione del nome del modulo e su ciò che tu o un modulo che state utilizzando è già stato importato.
>>> import datetime
>>> datetime
<module 'datetime' from '/usr/lib/python2.6/lib-dynload/datetime.so'>
>>> datetime.datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)
Ma, se si importa datetime.datetime:
>>> from datetime import datetime
>>> datetime
<type 'datetime.datetime'>
>>> datetime.datetime(2001,5,1) # You shouldn't expect this to work
# as you imported the type, not the module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)
voi o uno dei moduli che si sta utilizzando è importata Ho il sospetto che in questo modo: from datetime import datetime
.
Grazie! Ha funzionato perfettamente –
Grazie! È una piccola cosa da trascurare, ma difficile da trovare. – Prateek
@jozzas ottima risposta. Ho avuto un problema con timedelta che è stato risolto con la tua soluzione. Txs. –