Ответ 1
Python имеет tempfile module именно для этой цели. Вам не нужно беспокоиться о местоположении или удалении файла, он работает на всех поддерживаемых платформах.
Существует три типа временных файлов:
-
tempfile.TemporaryFile
- только базовый временный файл, -
tempfile.NamedTemporaryFile
- "Эта функция работает точно так же, как иTemporaryFile()
, за исключением того, что в файле гарантируется наличие видимого имени в файловой системе (в Unix запись каталога не отслаивается). Это имя можно найти из атрибута name файлового объекта.", -
tempfile.SpooledTemporaryFile
- "Эта функция работает точно так же, как иTemporaryFile()
, за исключением того, что данные буферизуются в памяти до тех пор, пока размер файла не превыситmax_size
или пока не будет вызван методfileno()
, после чего содержимое записываются на диск, и операция выполняется так же, как с помощьюTemporaryFile()
.",
EDIT: пример использования, который вы просили, может выглядеть так:
>>> with TemporaryFile() as f:
f.write('abcdefg')
f.seek(0) # go back to the beginning of the file
print(f.read())
abcdefg