2010-02-11 42 views
8

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

但是,我不知道如何处理Windows用户。我在切换到Linux之前使用了Windows多年,似乎应用程序倾向于:A)依赖于GUI配置(我宁愿不开发它)或B)在注册表中转储配置数据(这是令人讨厌的开发和未与* nix的配置文件便携式)

我目前倾倒文件到Windows上的$ HOME/.library_name为好,但这种感觉很不自然在Windows上。
我已经考虑将它放入%APPDATA%,应用程序数据往往会存在,但这有其自身的问题。我最担心的是,外行用户可能甚至不知道该目录的位置(不像%HOME /〜),用户可编辑的配置文件似乎并不正常。

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

+6

可以让我就说谁的人大多是使用Windows的大部分时间:**谢谢**不坚持在注册表中。希望配置文件是纯文本,我可以轻松地备份,复制,编辑等。 – 2010-02-11 10:52:56

回答

10

%APPDATA%是这些的正确位置(可能位于您的库的子目录中)。不幸的是移植到Windows nix中的应用程序的*相当数量的不就该和我结束了.gem,的.ssh,.VirtualBox等,文件夹塞满了我的主目录,而不是默认为在* nix隐藏。

你可以很容易甚至不具有打开为他们的编辑配置文件菜单项(或类似)很了解Windows目录结构的布局用户。

如果可能,提供了一个GUI前端的文件,不过,即使是很简单的一个。 Windows用户将期望一个工具|选项菜单项打开一个对话框,允许他们设置选项,并且没有一个就不加号。

1

在Windows上,用户不需要使用可编辑的配置文件来配置应用程序,所以没有标准。
使用GUI可编辑的配置标准是注册表。

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

8

蟒蛇appdirs包确实发现了在各种平台上的应用程序数据的标准位置的一个不错的工作。例如。对于Windows它使用英文XP位置:

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

而在Linux上遵循XDG标准:

~/.config/<appname> 
相关问题