2013-10-04 16 views
11

Kiedy wprowadzić prosty kod:AttributeError: 'moduł' obiekt ma atrybut 'utcnow'

import datetime 
datetime.utcnow() 

, dano mi komunikat o błędzie:

Traceback (most recent call last): 
    File "<pyshell#1>", line 1, in <module> 
    datetime.utcnow() 
AttributeError: 'module' object has no attribute 'utcnow' 

Ale dokument Pythona od utcnow jest po prostu tutaj: https://docs.python.org/library/datetime.html#datetime.datetime.utcnow. Dlaczego utcnow nie działa na moim komputerze? Dziękuję Ci!

Odpowiedz

25

Mylisz moduł z typem.

skorzystać z:

import datetime 

datetime.datetime.utcnow() 

lub zastosowanie:

from datetime import datetime 

datetime.utcnow() 

np albo odwołaj się do typu datetime w module datetime lub zaimportuj ten typ do swojej przestrzeni nazw z modułu. Jeśli korzystasz z tej drugiej formy i trzeba inne typy z tego modułu, nie zapomnij, aby zaimportować te też:

from datetime import date, datetime, timedelta 

Demo pierwszej postaci:

>>> import datetime 
>>> datetime 
<module 'datetime' from '/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/lib-dynload/datetime.so'> 
>>> datetime.datetime 
<type 'datetime.datetime'> 
>>> datetime.datetime.utcnow() 
datetime.datetime(2013, 10, 4, 23, 27, 14, 678151) 
+0

to działa! Dziękuję Ci bardzo! – user2384994

Powiązane problemy