在Python中跨平台获取用户配置主目录的方法?

9 投票
2 回答
2404 浏览
提问于 2025-05-01 09:44

我的程序需要存储一些配置文件。主要的操作系统似乎都有一个指定的位置来放这些文件;比如,在符合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),所以如果你只是为了一个小脚本用它,直接复制你需要的部分就可以了。否则,你也可以通过 pipconda 来安装这个工具包。

撰写回答