2013-05-22 20 views
16

zrobić coś takiego:Błąd składni: niepoprawny token w datetime.datetime (2012,05,22,09,09,03,41)?

>>>import datetime 
>>>datetime.datetime(2012,05,22,05,03,41) 
datetime.datetime(2012, 5, 22, 5, 3, 41) 

>>> datetime.datetime(2012,05,22,07,03,41) 
datetime.datetime(2012,05,22,07,03,41) 

>>> datetime.datetime(2012,05,22,9,03,41) 
datetime.datetime(2012, 5, 22, 9, 3, 41) 

>>> datetime.datetime(2012,05,22,09,03,41) 
SyntaxError: invalid token 

Dlaczego otrzymuję SyntaxError? Jak to naprawić?

+2

09 nie jest ważna ósemkowy cyfra ... – Xaerxess

+4

@Xaerxess: 09 nie jest poprawny ósemkowy ** numer ** - przepraszam, czuję się dzisiaj wybredny :-) – paxdiablo

+0

@paxdiablo Tak, chodzi mi o to, że ** 9 ** to poprawna cyfra dziesiętna ** :) – Xaerxess

Odpowiedz

27

W Pythonie 2, wychodząc z 0 liczba jest interpretowane jako ósemkowy ilości, co często prowadzi do dezorientacji osób nie zna C całkowitą dosłownych zapisów. W Pythonie 3 nie można w ogóle uruchomić numeru z 0.

Usuń wiodące 0s:

datetime.datetime(2012, 5, 22, 9, 3, 41) 

Błąd jest spowodowany przez 09 nie jest prawidłowy numer ósemkowy:

>>> 010 
8 
>>> 09 
    File "<stdin>", line 1 
    09 
    ^
SyntaxError: invalid token 
Powiązane problemy