Как указал @tmadam в комментариях, вот небольшое объяснение.
Вы ожидаете, что операция append
вернет весь объект, который затем должен сохранить json.dump
.
Этот пример показывает, что это не работает, так как append
возвращает None
.
>>> mydict = {"items": [1,2,3,4]}
>>> type(mydict["items"].append(5))
<class 'NoneType'>
>>> print(mydict)
{'items': [1, 2, 3, 4, 5]}
>>>
См. Также этот вопрос для обсуждения этого поведения, я не могдля этого в документации по Python нет записи.
Ваш код, вероятно, должен выглядеть следующим образом:
data = json.load(supremef)
data['product_titles'].append({full_product_name: sizes})
dump = json.dump(data, supremef)
Немного не по теме:
Ваш file = open
, вероятно, не делает то, что вы ожидаете.