Есть приложение, которое пишется на Python. Версия языка 2.7.2. В качетсве хванилища информации используется SQLite 3, и соответственно встроенная в язык библеотека, для работы с этой БД. Необходимо, чтобы приложение запускалось под тремя основными платфомами: Windows XP и выше; Mac OS 10.6 и выше; Ubuntu.
Проблема
Необходимо иметь файл настроек для этого приложения. Причем наборов настроек, как мне кажется, должно быть как минимум 2 (default и users), но так как пользователей может быть много, хорошо бы чтобы у каждого были настройки, позволяющие ему работать с приложением в удобном режиме. Какие есть варианты хранения такой информации в проекте? Какие подходы к реализации такой функциональности наиболее предпочтительны? Может можно что-то почитать про это — тогда буду рад предоставленным источникам информации.
Удивительно, как этот вопрос-ответ похож на этот! Почти все авторы и содержания ответов совпадают! Первый ответ — ссылка на библиотеку, второй — про OS X и замечание о лишнем усложнении, третий — про нативность/питоновость, а четвёртый — про похожесть!
Можно хранить настройки пользователей (хоть сам файл sqlite, если шаринга данных между пользователями не требуется) в каталоге os.path.join(site.getuserbase(), 'appname'), но в винде это не совсем нативно выглядит. Вот платформонезависимого решения как получить путь к дефолтным настройкам не знаю. Наверное, всё же, следует анализировать платформу (отличия, как минимум, *nix, WinNT <6.0 и >=6.0) и хранить настройки и вообще данные в соответствии с гайдами ОС.