SyntaxError:datetime.datetime中的无效标记(2012,05,22,09,03,41)?

use*_*172 23 python datetime

我做这样的事情:

>>>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
Run Code Online (Sandbox Code Playgroud)

为什么我得到SyntaxError?怎么解决?

Mar*_*ers 42

在Python 2中,以数字开头的数字0被解释为八进制数,通常会导致那些不熟悉C整数文字符号的人混淆.在Python 3中,您根本无法启动数字0.

删除前导0:

datetime.datetime(2012, 5, 22, 9, 3, 41)
Run Code Online (Sandbox Code Playgroud)

错误是由09不是有效的八进制数引起的:

>>> 010
8
>>> 09
  File "<stdin>", line 1
    09
     ^
SyntaxError: invalid token
Run Code Online (Sandbox Code Playgroud)