28

我做这样的事情:

>>>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

为什么我得到语法错误?如何解决?

4

1 回答 1

52

在 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
于 2013-05-22T07:54:11.020 回答