Ho un'applicazione desktop python che deve memorizzare i dati utente. Su Windows, questo di solito è in %USERPROFILE%\Application Data\AppName\
, su OSX di solito è ~/Library/Application Support/AppName/
, e su altri * nix di solito è ~/.appname/
.Come posso archiviare i dati dell'applicazione desktop in modo multipiattaforma per Python?
Esiste una funzione nella libreria standard, os.path.expanduser
, che mi procurerà la directory home dell'utente, ma so che su Windows, almeno, "Dati applicazione" è localizzato nella lingua dell'utente. Questo potrebbe essere vero anche per OSX.
Qual è il modo corretto per ottenere questa posizione?
UPDATE: Alcuni ulteriori ricerche indicano che il modo corretto per ottenere questo su OSX è quello di utilizzare la funzione di NSSearchPathDirectory, ma questo è di cacao, quindi significa chiamando il ponte PyObjC ...
devono guardò negli http://pypi.python.org/pypi/appdirs/1.2.0 – tkone
Mentre la roba Darwin è grande per Linux dovresti davvero usare i percorsi xdg. – abergmeier
Per evitare hard-coding "14" e "1", funziona meglio: 'da AppKit import NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask' –