通常、私は、各不足しているキーまたはdefaultdict
を確認するためにtry-except
を入れ子に使用しますが、この場合には、私は、簡単のため2つのif
文で行くと思う:
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
with open('jsonfile', 'w') as f:
json.dump(data, f)
2つの使用例:
data = {}
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
print(data)
>> {'additional_info': {'other_names': ['13.9']}}
そして
data = {"additional_info": {"other_names": ["12.13"]}}
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
print(data)
>> {'additional_info': {'other_names': ['12.13', '13.9']}}
「私はGUAを設定したいですrdを実行してjsonファイルにadditional_infoとother_namesが存在するかどうかをチェックし、それが作成されない場合は "これは既にデフォルトの動作です。それがすでに存在する場合、リストに追加したくないということですか? – DeepSpace
additional_infoやother_namesを持たないファイルでこれを実行しようとすると、私はキーエラーを受け取ります –