【发布时间】:2011-03-14 17:54:50
【问题描述】:
简单案例
我有一个 Python 程序,我打算在 *nix 和 Windows 系统上都支持它。该程序必须是可配置的,至少是全局的。有没有跨平台的方式来处理配置文件?
即我想写而不是
import platform
if platform.system() == "Windows":
configFilePath = "C:\MyProgram\mainconfig.ini"
else:
configFilePath = "/etc/myprogram/mainconfig.ini"
类似的东西
import configmagic
configFile = configmagic("myprogram", "mainconfig")
稍微高级一点的案例
同样可以应用于用户特定的配置吗? IE。 Unix 下~user/.myprogram/ 中的配置,Windows 下HKEY_LOCAL_USER 注册表部分中的配置?
【问题讨论】:
-
感谢您的提示,但这并不是真正的骗局。这两个问题是关于配置文件的格式,而我的问题是关于它的位置。
-
不要使用 ~/.myprogram,使用 XDG BaseDir 规范,它定义了您应该存储/读取配置的位置。 (默认情况下,~/.config/myprogram)。
标签: python cross-platform configuration-files