Tengo una aplicación de escritorio python que necesita almacenar datos de usuario. En Windows, esto generalmente está en %USERPROFILE%\Application Data\AppName\
, en OSX generalmente es ~/Library/Application Support/AppName/
, y en otros * nix es generalmente ~/.appname/
.¿Cómo almaceno datos de aplicaciones de escritorio de forma cruzada para python?
Existe una función en la biblioteca estándar, os.path.expanduser
que me proporcionará el directorio de inicio de un usuario, pero sé que en Windows, al menos, "Application Data" está localizado en el idioma del usuario. Eso también podría ser cierto para OSX.
¿Cuál es la forma correcta de obtener esta ubicación?
ACTUALIZACIÓN: Algunas investigaciones indica además que la forma correcta de conseguir esto en OSX es mediante el uso de la función NSSearchPathDirectory, pero esa es cacao, lo que significa llamar el puente PyObjC ...
tienen que veía en http://pypi.python.org/pypi/appdirs/1.2.0 – tkone
Mientras que la materia Darwin es ideal para Linux realmente deberías usar rutas xdg. – abergmeier
Para evitar el código rígido "14" y "1", esto funciona mejor: 'desde la importación de AppKit NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask' –