Межплатформенное обращение файла конфигурации

Простой случай

У меня есть программа Python, которую я намереваюсь поддерживать и на *, отклоняют и системы Windows. Программа должна настраиваться по крайней мере глобально. Существует ли межплатформенный способ обратиться к конфигурационному файлу?

Т.е. Я хочу записать вместо

import platform
if platform.system() == "Windows":
    configFilePath = "C:\MyProgram\mainconfig.ini"
else:
    configFilePath = "/etc/myprogram/mainconfig.ini"

что-то вроде

import configmagic
configFile = configmagic("myprogram", "mainconfig")


Немного более усовершенствованный случай

То же может быть применено к определенной для пользователя конфигурации? Т.е. удержать конфигурацию ~user/.myprogram/ под Unix, и в HKEY_LOCAL_USER раздел реестра в соответствии с Windows?

9
задан dpq 12 July 2010 в 11:56
поделиться

1 ответ

Python разрешает пути с прямой косой чертой в Windows, а os.path.expanduser работает и в Windows, так что вы можете получить путь к файлу для конкретного пользователя, используя:

config_file = os.path.expanduser("~/foo.ini")

если вы хотите найти .ini в домашнем каталоге пользователя. Я не уверен, как унифицировать файловые .ini и настройки реестра.

4
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

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