Modification d'un fichier .json

Fermé
PaukOne - 15 juin 2022 à 00:28
NatHsn26 Messages postés 4 Date d'inscription jeudi 1 avril 2021 Statut Membre Dernière intervention 19 juin 2022 - 19 juin 2022 à 21:25
Bonsoir,
Je voudrais modifier la valeur d'une variable d'un fichier json, mais quand j'utilise json.dump, toutes mes autres variables s’effacent.
A voir également:

4 réponses

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
15 juin 2022 à 10:21
Bonjour,

on y verrait plus clair si tu affichais ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Visuellement, ça doit ressembler à ça:

for k in range(10):
    print(k)
0
Voila mon code:
import json

chemin = "C:\\Users\\paulp\\Documents\\Code\\Soter\\main_info.json"
with open(chemin, "r") as f:
	read = json.load(f)

if read["startup"] == False:
	read["language"] = input("In which language do you want to use Soter ? (english/français): ")
	with open(chemin, "w") as g:
		write = json.dump(read, g)
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
Modifié le 16 juin 2022 à 09:55
Bonjour,

Ca devrait marcher, normalement:

import json

chemin = "C:\\Users\\paulp\\Documents\\Code\\Soter\\main_info.json"
with open(chemin, "r") as f:
    data = json.load(f)

if data["startup"] == False:
    data["language"] = input("In which language do you want to use Soter ? (english/français): ")
    with open(chemin, "w") as f: json.dump(data, f)


Apres, il faudrait voir ton fichier json ...
0
NatHsn26 Messages postés 4 Date d'inscription jeudi 1 avril 2021 Statut Membre Dernière intervention 19 juin 2022
19 juin 2022 à 21:25
Bonsoir,
json n’est pas fiable pour d’ultérieure modification, ouvrir pour y faire des modification compromettrait le fichier dans beaucoup de cas.
Il faut tout ecrire en une fois
Le truc à mon avis si tu veut le modifier est de tout importer et y faire tes modification en tant que structure de données de l’interpréteur puis réécrire tout dans le fichier en tant que ouvert en mode override
-1