Если я хочу, чтобы мое приложение сохраняло несколько настроек, которые сохраняются при закрытии приложения, то где их хранить?
Я не говорю ничего сложного: два логических значения и строка (хотя в будущем я могу захотеть сохранить более сложные настройки)
Я слышал все упомянутое gconf, dconf, gsettings и т.д. Что такое «предпочтительный» метод? Желательно, чтобы это было легко и просто в Python.
Ответы:
gconf
не рекомендуется, поэтому для нового проекта я бы не стал его использовать.dconf
является бэкэндом для хранения настроек, как разработчик приложения, вам обычно не нужно беспокоиться об этом.Похоже, что вам нужен
gsettings
высокоуровневый API ( документация API для C ) для хранения / извлечения настроек, не беспокоясь о том, как и где они хранятся.gsettings
является частьюgio
, которая является одним из основных пакетов gnome (какglib
иgobject
). Этот пост в блоге дает краткое введение, как использовать его с Python.Если вы не хотите никаких зависимостей
gio
(например, вы не разрабатываете приложение GNOME) и хотите хранить простые конфигурационные файлы, я бы предложил вместо этого использовать$HOME/.config
каталог (или любой другой каталог, определенный в нем$XDG_CONFIG_DIRS
)$HOME/.your_appname
в соответствии со спецификацией freedesktop ,источник
Приложение работает во всей системе
подходящее место для хранения настроек будет:
где подкаталог является необязательным.
Приложение работает в режиме пользователя
Настройки должны храниться в пользовательском HOME, желательно в скрытом каталоге:
Смотрите также Debian FHS .
Приложения, запущенные в X-Desktop
Приложения для X-Desktop (например, GNOME, KDE, Unity, Xfce) должны ссылаться на Спецификацию базового каталога XDG, где в локальных переменных определены следующие местоположения файлов:
источник
Быстро , который является одним из новых помощников для разработки приложений для Ubuntu , по умолчанию хранит все настройки с desktopcouch . Преимущество заключается в том, что эти настройки можно синхронизировать с другими установками с помощью инструментов Ubuntu One.
источник