2010-02-11 126 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>