Jeśli jest to naprawdę tymczasowe, skorzystaj z porady larmans i użyj mkdtemp
.
Jeśli jest to coś w rodzaju półtrwałej pamięci podręcznej, która musi przetrwać ponowne uruchomienie, powinieneś użyć lokalnego katalogu aplikacji, zdefiniowanego przez twój system operacyjny (% APPDATA%, ~/.local/etc); niektóre zestawy narzędzi (na przykład Qt) udostępniają funkcje do przeglądania tego folderu w sposób międzyplatformowy.
Edit: z Wikipedii:
- HOME (Unix-like) i USERPROFILE (Microsoft Windows) - wskazuje, gdzie katalog domowy użytkownika znajduje się w systemie plików.
- STRONA GŁÓWNA/{. AppName} (w systemie Unix) i APPDATA {Nazwa programisty \ Nazwa aplikacji} (Microsoft Windows) - do przechowywania ustawień aplikacji. Wiele otwartych programy źródłowe nieprawidłowo używać USERPROFILE do ustawień aplikacji w Windows - USERPROFILE powinny być stosowane tylko w dialogach, które pozwalają użytkownikowi wybrać między ścieżkami jak Dokumenty/Zdjęcia/Downloads/Muzyka, dla celów programowych korzystania APPDATA (roaming) LocalAppData lub ProgramData (dzielone pomiędzy użytkownikami)
Dlatego należy patrzeć os.environ['APPDATA']
lub os.environ['HOME']
, w zależności od platformy (patrz sys.platform
), a następnie dołączyć swoją nazwę aplikacji, a następnie można przechowywać tam cokolwiek chcesz.
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)
Wow, dzięki. Chyba to jest droga. Zastanawiam się po prostu 'user_cache_dir' vs' site_data_dir', który jest bardziej odpowiedni dla mojego przypadku. – umpirsky