Se você não se importar em obter uma dependência em GLib
ou se já estiver usando GTK
como kit de ferramentas, poderá usar o método GLib.get_user_special_dir()
.
>>> from gi.repository import GLib
>>> GLib.get_user_special_dir(GLib.USER_DIRECTORY_PICTURES)
'/home/timo/Afbeeldingen'
>>> GLib.get_user_special_dir(GLib.USER_DIRECTORY_DOCUMENTS)
'/home/timo/Documenten'
>>> GLib.get_user_special_dir(GLib.USER_DIRECTORY_DOWNLOAD)
'/home/timo/Downloads'
Todos os diretórios disponíveis :
G_USER_DIRECTORY_DESKTOP the user's Desktop directory
G_USER_DIRECTORY_DOCUMENTS the user's Documents directory
G_USER_DIRECTORY_DOWNLOAD the user's Downloads directory
G_USER_DIRECTORY_MUSIC the user's Music directory
G_USER_DIRECTORY_PICTURES the user's Pictures directory
G_USER_DIRECTORY_PUBLIC_SHARE the user's shared directory
G_USER_DIRECTORY_TEMPLATES the user's Templates directory
G_USER_DIRECTORY_VIDEOS the user's Movies directory
G_USER_N_DIRECTORIES the number of enum values
Se você receber esta mensagem de erro:
ImportError: Ao usar o gi.repository, você não deve importar módulos como "gobject". Por favor, altere todas as ocorrências de "importação gobject "to" from gi.repository import GObject ".
Você precisa usar isso:
import glib
return glib.get_user_special_dir(glib.USER_DIRECTORY_PICTURES)