Один трюк, когда вы не понимаете, синтаксическую ошибку в таком случае (выражение), чтобы просто разбить его на подвыражения и принять помощь от интерактивный интерпретатор. Хотя вам нужно сделать некоторый анализ самостоятельно, я думаю, что это полезно.
В принципе, это предположительно (вам нужно знать ваше намерение) вызов функции. Вызов функции в python является одним из several forms, но в этом случае мы можем предположить, что он имеет вид f(a, b, ..., z)
, где функция и все аргументы являются выражениями. Таким образом, мы проверяем подвыражения:
>>> json.dumps
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'json' is not defined
Это не ошибка (это еще одна ошибка, которая происходит позже, во время интерпретации), а затем каждый из аргументов:
>>> 'timestamp': y
File "<stdin>", line 1
'timestamp': y
^
SyntaxError: invalid syntax
Там мы имеем его, первые аргумент не является допустимым выражением, но если мы поместим его в фигурные скобки, он не будет генерировать синтаксическую ошибку. Затем, если вы сделаете эту коррекцию, вы увидите, что все выражение имеет правильный синтаксис.
Отсутствует другая пара '{}' вокруг вашего dict и имя ключа, где точка ^. – deceze
Или, скорее всего, поставьте '' 'перед' 'timestamp'' вместо' 'checkpoint_size''. – mkrieger1
@deceze: '^' на самом деле указывает на ':', а не на пространство перед '{' (можно увидеть, вставив пример в сеанс Python с импортированным 'json'). – mkrieger1