Karde
@Karde
Ph.D. student at the GWU & CBI

Python приложение и хранение настроек

Описание



Есть приложение, которое пишется на Python. Версия языка 2.7.2. В качетсве хванилища информации используется SQLite 3, и соответственно встроенная в язык библеотека, для работы с этой БД. Необходимо, чтобы приложение запускалось под тремя основными платфомами: Windows XP и выше; Mac OS 10.6 и выше; Ubuntu.

Проблема



Необходимо иметь файл настроек для этого приложения. Причем наборов настроек, как мне кажется, должно быть как минимум 2 (default и users), но так как пользователей может быть много, хорошо бы чтобы у каждого были настройки, позволяющие ему работать с приложением в удобном режиме. Какие есть варианты хранения такой информации в проекте? Какие подходы к реализации такой функциональности наиболее предпочтительны? Может можно что-то почитать про это — тогда буду рад предоставленным источникам информации.
  • Вопрос задан
  • 5957 просмотров
Пригласить эксперта
Ответы на вопрос 4
goshakkk_reborn
@goshakkk_reborn
На OS X лучше настройки хранить в plist-е в ~/Library/Preferences/com.author.app_name.plist Питон же умеет работать с plist-ами.
Ответ написан
anatoly_rr
@anatoly_rr
Удивительно, как этот вопрос-ответ похож на этот! Почти все авторы и содержания ответов совпадают! Первый ответ — ссылка на библиотеку, второй — про OS X и замечание о лишнем усложнении, третий — про нативность/питоновость, а четвёртый — про похожесть!
Ответ написан
Комментировать
Комментировать
Можно хранить настройки пользователей (хоть сам файл sqlite, если шаринга данных между пользователями не требуется) в каталоге os.path.join(site.getuserbase(), 'appname'), но в винде это не совсем нативно выглядит. Вот платформонезависимого решения как получить путь к дефолтным настройкам не знаю. Наверное, всё же, следует анализировать платформу (отличия, как минимум, *nix, WinNT <6.0 и >=6.0) и хранить настройки и вообще данные в соответствии с гайдами ОС.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы