Если это действительно временно, следуйте советам ларманов и используйте mkdtemp
.
Если это какой-то полупостоянный кеш, который должен пережить перезагрузки, то вам следует использовать локальный каталог приложений, как определено вашей ОС (% APPDATA%, ~ / .local / etc);некоторые инструментарии (например, Qt) предоставляют функции для поиска этой папки кроссплатформенным способом.
Редактировать: из Википедии:
- HOME (Unix-like) и USERPROFILE (MicrosoftWindows) - укажите, где в файловой системе находится домашний каталог пользователя.
- HOME / {. AppName} (Unix-like) и APPDATA {DeveloperName \ AppName} (Microsoft Windows) - для хранения настроек приложения.Многие программы с открытым исходным кодом неправильно используют USERPROFILE для настроек приложения в Windows - USERPROFILE следует использовать только в диалоговых окнах, которые позволяют пользователю выбирать между путями, такими как Документы / Изображения / Загрузки / Музыка, для программных целей, использовать APPDATA (роуминг), LOCALAPPDATA илиPROGRAMDATA (для пользователей)
Таким образом, вам нужно поискать os.environ['APPDATA']
или os.environ['HOME']
, в зависимости от платформы (см. sys.platform
), а затем добавить имя вашего приложения, а затем выможете хранить там все, что захотите.
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)