Je ne suis pas sûr que cela soit possible. Que vous attendez-vous à trouver lorsque vous lisez à nouveau le contenu du fichier ?
Lorsque vous lisez quelque chose à partir d'un fichier, il doit s'agir de JSON valide pour pouvoir être chargé. Une option consiste à créer un dictionnaire comme ceci
d = dict(run1 = run1, run2 = run2, ... )
et ensuite json.dump
d
lui-même dans le fichier.
Mise à jour : Voici un exemple. Cela utilise une liste au lieu d'un dictionnaire (selon votre commentaire) mais l'idée reste la même.
run1 = dict(status = "ok", message = "Tout va bien")
run2 = dict(status = "erreur", message = "Impossible de se connecter")
def save_data(*runs):
with open("foo.json", "w") as f:
json.dump(list(runs), f)
def load_data(fname):
with open(fname) as f:
return json.load(f)
save_data(run1, run2)
outputs = load_data("foo.json")
print (outputs)
[{'status': 'ok', 'message': 'Tout va bien'}, {'status': 'erreur', 'message': "Impossible de se connecter"}]