Speicherort für Benutzerkonfigurationsdateien in Windows

8

Ich schreibe eine Python-Bibliothek mit einer benutzerspezifischen Konfigurationsdatei, die vom Benutzer der Bibliothek bearbeitet werden kann. Die Bibliothek generiert auch Protokolldateien.   An * nix scheint der Standard zu sein, sie in $ HOME / .library_name auszugeben.

Ich bin mir jedoch nicht sicher, was ich mit Windows-Benutzern machen soll. Ich habe Windows seit Jahren verwendet, bevor ich zu Linux wechselte und es scheint, dass Anwendungen dazu neigten, entweder auf GUI Konfiguration (die ich lieber nicht entwickeln würde) oder auf B) Konfigurationsdaten in der Registry zu deponieren (was lästig ist zu entwickeln und nicht tragbar mit den * nix config Dateien)

Ich speichere die Dateien momentan auch in den $ HOME / .library_name auf Windows, aber das fühlt sich unter Windows sehr unnatürlich an.
  Ich habe darüber nachgedacht, es in% APPDATA% zu platzieren, wo Anwendungsdaten zu leben neigen, aber das hat jedoch seine eigenen Probleme. Meine größte Sorge ist, dass Laien nicht einmal wissen, wo sich dieses Verzeichnis befindet (im Gegensatz zu% HOME / ~), und benutzerdefinierbare Konfigurationsdateien scheinen hier nicht normal zu laufen.

Was ist der Standardspeicherort für benutzerdefinierbare Konfigurationsdateien unter Windows?

    
UsAaR33 11.02.2010, 10:48
quelle

3 Antworten

10

% APPDATA% ist der richtige Ort für diese (wahrscheinlich in einem Unterverzeichnis für Ihre Bibliothek). Leider respektieren eine ganze Reihe von * nix-Apps, die auf Windows portiert wurden nicht , und ich lande mit .gem, .ssh, .virtualBox usw., Ordner, die mein Home-Verzeichnis durcheinander bringen und nicht von versteckt sind Standard wie bei * nix.

Sie können es auch Benutzern, die nicht viel über das Layout der Windows-Verzeichnisstruktur wissen, leicht machen, indem Sie ein Menüelement (oder Ähnliches) verwenden, das die Konfigurationsdatei in einem Editor für sie öffnet.

Wenn möglich, stellen Sie der Datei ein GUI-Front-End zur Verfügung, auch wenn es ein recht einfaches ist. Windows-Benutzer erwarten ein Tool | Menüpunkt Optionen, der ein Dialogfeld öffnet, in dem Optionen festgelegt werden können, ohne dass es einen Pluspunkt gibt.

    
T.J. Crowder 11.02.2010, 10:52
quelle
8

Das Python-Paket appdirs leistet einen guten Job, um den Standardplatz für Anwendungsdaten auf verschiedenen Plattformen zu finden . Z.B. Für Windows verwendet es die englische XP-Position:

%Vor%

und unter Linux folgt es dem XDG-Standard:

%Vor%     
nealmcb 17.11.2012 02:37
quelle
1

Unter Windows wird vom Benutzer nicht erwartet, dass er eine Anwendung mit bearbeitbaren Konfigurationsdateien konfiguriert, so dass kein Standard existiert.
Der Standard für die Konfiguration, der mit einer grafischen Benutzeroberfläche bearbeitet werden kann, ist die Registrierung.

Wenn Sie QT (oder PyQT?) verwenden, können Sie QSettings verwenden, die eine Abstraktionsschicht bereitstellen. Unter Linux verwendet es eine Konfigurationsdatei und schreibt bei Windows in die Registry.

    
shoosh 11.02.2010 10:53
quelle