Si je veux que mon application stocke quelques paramètres, qui persistent à la fermeture d'une application, alors où dois-je les stocker?
Je ne parle de rien de compliqué: deux booléens et une chaîne (bien qu'à l'avenir je puisse vouloir stocker des paramètres plus complexes)
J'ai entendu parler de gconf, dconf, gsettings, etc. Quelle est la méthode "préférée"? De préférence, c'est agréable et facile en Python.
Réponses:
gconf
est obsolète, donc pour un nouveau projet, je ne l'utiliserais pas.dconf
est un backend pour stocker les paramètres, en tant que développeur d'applications, vous ne devriez normalement pas avoir à vous en préoccuper.Ce dont vous semblez avoir besoin
gsettings
, c'est d'une API de haut niveau ( documentation API pour C ) pour stocker / récupérer les paramètres sans se soucier comment / où ils sont réellement stockés.gsettings
fait partie degio
, qui est l'un des paquets principaux de gnome (commeglib
etgobject
). Ce billet de blog donne une brève introduction sur la façon de l'utiliser avec Python.Si vous ne voulez pas de dépendances
gio
(par exemple, vous ne développez pas d'application GNOME) et que vous souhaitez stocker des fichiers de configuration simples, je vous suggère d'utiliser le$HOME/.config
répertoire (ou le répertoire défini par$XDG_CONFIG_DIRS
) au lieu de$HOME/.your_appname
, conformément à la spécification freedesktop .la source
L'application fonctionne sur tout le système
l'endroit approprié pour stocker les paramètres serait:
où un sous-répertoire est facultatif.
L'application s'exécute en mode par utilisateur
les paramètres doivent être stockés dans l'utilisateur HOME, de préférence dans un répertoire caché:
Voir aussi le Debian FHS .
Applications exécutées dans X-Desktop
Les applications pour X-Desktop (par exemple GNOME, KDE, Unity, Xfce) doivent se référer à la spécification de répertoire de base XDG où les emplacements de fichiers suivants sont définis dans des variables locales:
la source
Rapidement , qui est l'un des nouveaux assistants pour le développement d'applications pour Ubuntu , par défaut, il stocke toutes les préférences avec desktopcouch . L'avantage est que ces paramètres peuvent être synchronisés avec d'autres installations via les outils Ubuntu One.
la source