9

我有一个必须在 Windows 和 Linux 上运行的 python 程序。我通常将一些配置选项存储在文件中,位于程序目录的子目录中。

对于 Windows,我将其转换为 exe 并为其创建了安装程序。现在我遇到了处理配置文件的问题。

保存配置文件的最佳位置是什么?我已经读过 Windowsos.environ['APPDATA']+'myAppName'是必须使用的路径。这是对的吗?是标准的吗?它是否可以在所有版本的 Windows 中至少从 XP 中运行(至少在英语和西班牙语中)?

PD:我对使用 ConfigParser 不感兴趣。配置文件是我自己的格式,我有用于读取/写入的工作代码。

4

2 回答 2

9

将设置存储在用户目录中通常是一个好主意。

这些天来,您可能应该使用appdirs库之类的东西来找到存储配置的好路径。

在大多数 Unices 下,只需在主目录中存储一个(最好是点前缀的)文件。在 OS X 下,您需要在用户的 Library 文件夹中为您的应用程序创建一个目录,并将您的文件存储在那里。在 Windows 下,APPDATA 是为您的应用程序构建目录的好地方。它应该适用于所有 Windows 本地化版本,并且看起来它也适用于 Windows XP。

于 2012-06-27T14:42:51.407 回答
2

在 Linux 上,通常将配置文件存储在用户主目录中,例如~/.myprogramrc. 在 Windows Vista 及更高版本上,用户也有一个主目录(/Users/username),并且建议将您的设置存储在一个子文件夹(/Users/useranem/myprogram)中。将设置存储在应用程序文件夹中会生成 UAC 警告。

在 Windows XP 上,用户没有主文件夹。一些程序选择将配置放在“我的文档”文件夹中,我想这是一个很好的地方。

于 2012-06-27T14:39:13.073 回答