Переносимые настройки и хранилище данных приложений в Python?

Что такое портативный способ хранения настроек и сгенерированных данных приложения для локально запускаемых (настольных) программ Python? Есть ли какой-нибудь правильный питонический или широко используемый сторонний модуль?

В идеале я хочу, чтобы какой-нибудь портативный способ связать систему OS X по умолчанию и систему Windows System.Configuration. Я бы согласился на способ получить правильный путь для хранения постоянных данных настроек для ОС пользователя.

Я знаю о различных соответствующих технологиях, таких как sqlite/pickle/ConfigParser/json/shelve/dbm, но я не нашел портативного способа определить правильное место для ОС пользователя и обстоятельств установки. .

Например, в Win XP/2000 это, вероятно, будет: C:\Documents and Settings\<Windows login>\Application Data\<some app identifier>\

В Windows Vista и Windows 7 это, вероятно, будет: C:\Users\<Windows login/user name>\AppData\Roaming\<some app identifier>\

В большинстве Unix-подобных операционных систем это, вероятно, будет: ~/.<some app identifier>/

В Mac OS X это, вероятно, будет: ~/Library/Application Support/<some app identifier>

Я знаком с winpaths (из pypi), но, похоже, это только окна. Вы всегда используете os.path, чтобы поместить точечный файл в домашний каталог пользователя и надеяться на лучшее?


person Ben    schedule 29.04.2013    source источник
comment
Поэтому после того, как @jannekarila указал мне на appdirs, я использовал его для создания модуля usersettings специально для портативного локального приложения. хранилище настроек в питоне.   -  person Ben    schedule 05.05.2013


Ответы (1)


В PyPi есть модуль appdirs, который должен решить эту проблему переносимым способом.

person Janne Karila    schedule 29.04.2013