Créer un executable avec un JSON modifiable
Fermémamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 17 avril 2023 à 14:46
- Créer un executable avec un JSON modifiable
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer un compte instagram - Guide
- Créer un organigramme - Guide
2 réponses
Modifié le 12 avril 2023 à 12:36
Bonjour,
Si le fichier json embarqué ne peut être modifié, il faut peut être si les valeurs originales sont modifiées, les enregistrer dans un fichier local, qui au lancement du programme sera préalablement recherché avant le fichier embarqué.
14 avril 2023 à 14:36
Bonjour,
Une fois chargé en mémoire, le fichier JSON n'est plus consulté par le programme. Il faut donc qu'en cas de changement de ce fichier, ton programme le recharge explicitement.
La stratégie la plus naïve consiste à recharger (à chaque fois qu'une fonction en dépend) le fichier JSON. C'est un peu overkill surtout si les paramètres qu'il contient sont fréquemment utilisés.
L'idéal serait donc ne recharger le fichier JSON que quand celui-ci est modifié. Sous Linux, on utiliserait par exemple inotify pour que le programme soit averti en cas de changement du fichier (ce qui lui permettrait de ne le recharger qu'en cas de besoin). Il existe un paquet python inotify qui émule cette fonctionnalité (et donc visiblement, qui peut marcher pour d'autres systèmes, comme Windows).
Bonne chance
Modifié le 14 avril 2023 à 23:18
Salut mamiemando,
Je ne pense pas que ce paquet Python fonctionne sous Windows. Il semble être un wrapper pour inotify, qui ne fonctionne que sous Linux -avec un noyau 2.6 au moins).
Celui-ci a l'air cross-platform, par contre :
17 avril 2023 à 14:46
Je pense que si car si on regarde le code source on ne voit pas d'appel explicite à la commande inotify et on voit également dans ce fichier des instructions qui laissent penser que le paquet est susceptible de marcher sous windows (il n'y a pas de dll sous linux). Mais tu as peut-être raison...
Quoi qu'il en soit, tu as raison, watchdog est un choix plus sûr, car il est explicitement annoncé comme multi-plateforme.