Python: Invalid Token

SyntaxError invalid token

In Python 3, leading zeros are not allowed on numbers. E.g:

05
0123

Etc. are not allowed, but should be written as 5 and 123 instead.

In Python 2, however, the leading zero signifies that the number is an octal number (base eight), so 04 or 03 would mean 4 and 3 in octal, respectively, but 08 would be invalid as it is not a valid octal number.

In Python 3, the syntax for octals changed to this:

0o10
0o4

(As well as allowing other bases such as binary and hexadecimal using the 0b or 0x prefixes.)

As for your other question, a token in Python is the way the Python interpreter splits up your code into chunks, so that it can understand it (see here). Here, when the tokenizer tries to split up your code it doesn't expect to see the zero there and so throws an error.

I would suggest (similarly to the other answers) that you drop the leading zero ((2016,4,3)) or represent these using strings (("2016","04","03")).

Why python shows Invalid token for datetime(2018,01,01,10,08,00)?

Because integer literals starting with a 0 are interpreted as octal numbers and the digit 8 is not allowed in an octal number.

Strip your leading zeros. They have more meaning than you expected.

Don't know why I'm receiving this error SyntaxError: invalid token?

The problem is the 0 at the start. Try this:

a = 1000

It doesn`t matter because

01000 = 1000

Except if you mean it in binary. Then I advise to use strings:

a = "01000"


Related Topics



Leave a reply



Submit