将用户配置文件放在Windows中的位置

时间:2010-02-11 10:48:37

标签: python windows configuration configuration-files

我正在编写一个python库,它有一个每用户配置文件,可以由库的用户编辑。该库还生成日志文件。   在* nix上,标准似乎是将它们转储到$ HOME / .library_name。

但是,我不确定如何处理Windows用户。在切换到Linux之前,我已经使用了多年的Windows,似乎应用程序倾向于A)依赖于GUI配置(我宁愿不开发)或者B)在注册表中转储配置数据(这对于开发和使用* nix配置文件无法移植

我目前正在将文件转储到Windows上的$ HOME / .library_name中,但这在Windows上感觉非常不自然。
  我已经考虑将它放入%APPDATA%,其中应用程序数据往往存在,但这有其自身的问题。我最担心的是,非专业用户可能甚至不知道该目录的位置(与%HOME /〜不同),并且用户可编辑的配置文件似乎不会正常进入此处。

Windows上每用户可编辑配置文件的标准位置是什么?

3 个答案:

答案 0 :(得分:10)

%APPDATA%是这些的正确位置(可能在您的库的子目录中)。不幸的是,移植到Windows 的相当数量的* nix应用程序不尊重它,我最终得到.gem,.ssh,.VirtualBox等,文件夹混乱了我的主目录而没有被隐藏默认为* nix。

通过使用在编辑器中打开配置文件的菜单项(或类似文件),即使对不太了解Windows目录结构布局的用户也可以轻松实现。

如果可能,请为文件提供GUI前端,即使它非常简单。 Windows用户需要一个工具|选项菜单项会弹出一个对话框,允许他们设置选项,如果没有选项则不加。

答案 1 :(得分:8)

python appdirs包很好地在各种平台上找到应用程序数据的标准位置。例如。对于Windows,它使用英语XP位置:

C:\Documents and Settings\<User>\Application Data\Local Settings\<AppAuthor>\<AppName>

在Linux上遵循XDG标准:

 ~/.config/<appname>

答案 2 :(得分:1)

在Windows上,不希望用户使用可编辑的配置文件配置应用程序,因此没有标准 使用GUI可编辑的配置标准是注册表。

如果您正在使用QT(或PyQT?),那么您可以使用提供抽象层的QSettings。在Linux上,它使用配置文件,在Windows上写入注册表。