在Python中跨平台获取用户配置主目录的方法?
我的程序需要存储一些配置文件。主要的操作系统似乎都有一个指定的位置来放这些文件;比如,在符合Freedesktop.org标准的系统上,这个位置就是存储在$XDG_CONFIG_HOME
环境变量里的路径。
有没有什么方法(或者库)可以在主要的操作系统上获取这个配置文件的家目录呢?比如Windows、OS X和Linux?
2 个回答
1
import os
print os.path.expanduser("~/.my_config/data")
这段话的意思是,你总是可以写... 配置文件最好存放在你想要的地方
在Windows系统上,这个地方通常是
os.path.expandvars("%appdata%/.my_config")
而在其他大多数系统上,配置文件一般会放在用户个人目录下(~)
除非你在寻找某个特定的配置文件位置(可能是为了和其他软件互动... 在这种情况下,我们需要知道是哪个软件)
8
你可以使用一个叫做 appdirs
的工具包。这个工具包是由ActiveState开发的,他们在跨平台的Python方面应该有很多经验。
import appdirs
appdirs.user_config_dir(appname='MyApp')
这个工具包其实就是一个单独的文件(/module),所以如果你只是为了一个小脚本用它,直接复制你需要的部分就可以了。否则,你也可以通过 pip
或 conda
来安装这个工具包。