Ich habe eine Python-Desktop-Anwendung, die Benutzerdaten speichern muss. Unter Windows ist dies normalerweise in %USERPROFILE%\Application Data\AppName\
, auf OSX ist es normalerweise ~/Library/Application Support/AppName/
, und auf anderen * nixes ist es normalerweise ~/.appname/
.Wie speichere ich Desktop-Anwendungsdaten plattformübergreifend für Python?
Es gibt eine Funktion in der Standardbibliothek, os.path.expanduser
, die mir das Home-Verzeichnis eines Benutzers erhält, aber ich weiß, dass "Anwendungsdaten" unter Windows mindestens in der Sprache des Benutzers lokalisiert wird. Das könnte auch für OSX gelten.
Was ist der richtige Weg, um diesen Ort zu bekommen?
UPDATE: Einige weitere Forschung zeigt an, dass der richtige Weg, dies auf OSX zu bekommen, ist durch die Funktion NSSearchPathDirectory verwenden, aber das ist Kakao, so bedeutet es, die PyObjC Brücke Aufruf ...
haben in http://pypi.python.org/pypi/appdirs/1.2.0 – tkone
zu sah Während die Darwin Sachen für Linux ist groß Sie sollten wirklich xdg Pfade verwenden. – abergmeier
Um Hard-Coding "14" und "1" zu vermeiden, funktioniert dies besser: 'von AppKit importieren NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask' –