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

时间:2013-05-22 07:53:14

标签: 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

为什么我会收到SyntaxError?如何解决?

1 个答案:

答案 0 :(得分:35)

在Python 2中,以0开头的数字被解释为八进制数字,这通常会导致那些不熟悉C整数文字符号的人感到困惑。在Python 3中,您根本无法使用0开始编号。

删除前导0:

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

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

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