While debugging a python program I had to print the value of a huge dictionary on a log file. I copy-pasted the value and when I assigned it in the python 2 interpreter I got SyntaxError: invalid syntax
. What? How was that possible? After a closer look I realised the dictionary in the file was something like this:
{'one': 1, 'two': 2, 'three': {...}}
three
value was {...}
, which caused the invalid syntax error.Pasting this dictionary on a python 2 interpreter raises a Syntax Error
exception. Pasting it on a python 3 interpreter the assigned value results to be {'one': 1, 'two': 2, 'three': {Ellipsis}}
.
So, what does {...}
mean in python 2 and why the syntax is invalid in python 2 even if the value is printed in the log file from a python 2 script?