我正在编写一个python库,它有一个每用户配置文件,可以由库的用户编辑。该库还生成日志文件。 在* nix上,标准似乎是将它们转储到$ HOME / .library_name。
但是,我不确定如何处理Windows用户。在切换到Linux之前,我已经使用了多年的Windows,似乎应用程序倾向于A)依赖于GUI配置(我宁愿不开发)或者B)在注册表中转储配置数据(这对于开发和使用* nix配置文件无法移植
我目前正在将文件转储到Windows上的$ HOME / .library_name中,但这在Windows上感觉非常不自然。
我已经考虑将它放入%APPDATA%,其中应用程序数据往往存在,但这有其自身的问题。我最担心的是,非专业用户可能甚至不知道该目录的位置(与%HOME /〜不同),并且用户可编辑的配置文件似乎不会正常进入此处。
Windows上每用户可编辑配置文件的标准位置是什么?
答案 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上写入注册表。