Спасибо за ваш ответ. К сожалению, мне было интересно что-то, что делает это за один выстрел, а не за один номер. В любом случае, по моему мнению, отрицательные голоса немного несправедливы.
аюсь установить питонаjson
библиотека для сохранения в файл словаря, содержащего в качестве элементов другие словари. Есть много чисел с плавающей точкой, и я хотел бы ограничить количество цифр, например, 7.
По другим постам в СОencoder.FLOAT_REPR
должны быть использованы, однако, это не работает.
Например, приведенный ниже код, запускаемый в Python3.7.1, печатает все цифры:
import json
json.encoder.FLOAT_REPR = lambda o: format(o, '.7f' )
d = dict()
d['val'] = 5.78686876876089075543
d['name'] = 'kjbkjbkj'
f = open('test.json', 'w')
json.dump(d, f, indent=4)
f.close()
Как я могу решить это?
Это может быть неуместно, но я на OSX.
РЕДАКТИРОВАТЬ
Этот вопрос был помечен как дублированный. Однако впринятый (и до сих пор единственный) ответ на оригинал ясно сказано:
Примечание: это решение не работает на Python 3.6+
Так что это решение не является правильным. Плюс это использование библиотекиsimplejson
не библиотекаjson
.