Se è veramente temporaneo, seguire il consiglio di larmans e utilizzare mkdtemp
.
Se si tratta di una sorta di cache semi-permanente che deve sopravvivere ai riavvii, è necessario utilizzare la directory dell'applicazione locale, come definita dal sistema operativo (% APPDATA%, ~/.local/etc); alcuni toolkit (ad esempio Qt) forniscono funzioni per visualizzare tale cartella in modo multipiattaforma.
Edit: da Wikipedia:
- HOME (Unix-like) e USERPROFILE (Microsoft Windows) - indicare dove directory home di un utente si trova nel file system.
- HOME/{. AppName} (Unix-like) e APPDATA {DeveloperName \ AppName} (Microsoft Windows) - per la memorizzazione delle impostazioni dell'applicazione. Molti aperti programmi sorgente utilizzano in modo non corretto USERPROFILE per le impostazioni delle applicazioni in Windows - USERPROFILE deve essere utilizzato solo in finestre che permettono all'utente di scegliere tra i percorsi come Documenti/Immagini/Download/Musica, a fini programmatici utilizzare APPDATA (roaming), LOCALAPPDATA o PROGRAMDATA (condivisa tra gli utenti)
così si dovrebbe guardare in alto o os.environ['APPDATA']
os.environ['HOME']
, a seconda della piattaforma (vedi sys.platform
) e quindi accodare il tuo nome dell'applicazione, e quindi è possibile memorizzare c'è tutto quello che vuoi.
mydir = os.path.join(".myAppName", "cache")
homeVar = 'HOME' # default for all *nix variants
if sys.platform == 'win32':
homeVar = 'APPDATA'
mydir = os.path.join(os.environ[homeVar], mydir)
fonte
2012-01-09 13:40:37
Wow, grazie. Immagino che questa sia la strada da percorrere. Mi sto solo chiedendo 'user_cache_dir' vs' site_data_dir', che è più adatto per il mio caso. – umpirsky