Я импортирую файл JSON и использую его в качестве шаблона, по которому я изменяю некоторые свойства.JSON as template: не очищает
with open('example.json') as data_file:
j = json.load(data_file)
... # and within a loop:
with open('output.json', 'w') as outfile:
activejson = j # I would like this to reset or pull fresh from j
... # modify properties here
json.dump(activejson, outfile, indent=4)
activejson
не тянет шаблон j
свежих через каждую итерацию цикла. (Я могу вытащить старые, измененные значения из предыдущих итераций в activejson
в области «изменить свойства здесь».) Я понимаю, что activejson
указывает на j
вместо того, чтобы служить в качестве копии, но activejson = j.copy()
не подходит для трюка либо, ни activejson = {}
. Какая правильная команда/способ опорочить эту переменную и вытащить шаблон после каждой итерации? Каков наиболее эффективный способ справиться с этим?
'j.copy()' только делает мелкую копию, поэтому у вас все еще возникают проблемы с вложенными объектами. См. [Copy.deepcopy] (https://docs.python.org/3/library/copy.html#copy.deepcopy) –