СинтаксисError: недопустимый токен в datetime.datetime(2012,05,22,09,03,41)? - программирование
Подтвердить что ты не робот

СинтаксисError: недопустимый токен в datetime.datetime(2012,05,22,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

Почему я получаю SyntaxError? Как это исправить?

4b9b3361

Ответ 1

В Python 2 число, начинающееся с 0, интерпретируется как восьмеричное число, что часто приводит к путанице для тех, кто не знаком с C целочисленными литералами. В Python 3 вы не можете начинать число с 0 вообще.

Удалите ведущие 0s:

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

Ошибка вызвана тем, что 09 не является действительным восьмеричным числом:

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