Как установить пользовательский файл конфигурации с дистрибутивом python - PullRequest
1 голос
/ 26 января 2011

Я создаю пакет Python и использую дистрибутив для упаковки его как яйца Я хотел бы установить редактируемый пользователем файл конфигурации для каждого пользователя моего программного обеспечения. Каков наилучший способ сделать это? Я использую Python 2.6 и ориентируюсь на платформу Windows.

Ответы [ 2 ]

5 голосов
/ 26 января 2011

Поскольку яйцо трудно редактировать, оно не входит в яйцо.

Редактируемый пользователем файл конфигурации помещается в каталог пользователя HOME или в общесистемный каталог, например /etc/myapp.

Ваше приложение должно выполнять поиск в нескольких легко доступных местах. Следуйте указаниям Linux по отслеживанию файла .bashrc для подсказок, как лучше всего это сделать. Или Следуйте инструкциям Windows для каталогов System и My Documents.

Вы пишете свое приложение одним из двух способов.

  1. Может работать без настроек. Если - после поиска всех обычных мест - нет конфигурации, она все еще работает.

  2. Создает конфигурацию по умолчанию в текущем рабочем каталоге, если не может найти ее где-либо еще.

3 голосов
/ 26 января 2011
os.path.expanduser(path)

В Unix и Windows верните аргумент с начальным компонентом ~ или ~ user, замененным домашним каталогом этого пользователя.

http://docs.python.org/library/os.path.html

* Nix идиома использования имен файлов конфигурации, начинающихся с '.'теперь используется и в Windows, поскольку последние версии Windows обрабатывают их как скрытые файлы.

import os
config_filename = os.path.expanduser('~/.myappconf)
...