Простой случай
У меня есть программа 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?
Python разрешает пути с прямой косой чертой в Windows, а os.path.expanduser
работает и в Windows, так что вы можете получить путь к файлу для конкретного пользователя, используя:
config_file = os.path.expanduser("~/foo.ini")
если вы хотите найти .ini в домашнем каталоге пользователя. Я не уверен, как унифицировать файловые .ini и настройки реестра.