Python:
Создание временного файла
Как это сделать:
Модуль tempfile
в Python создан именно для этого. Посмотрите, как он работает:
import tempfile
# Создаем временный файл и записываем в него что-то
with tempfile.TemporaryFile(mode='w+t') as tf:
# Записываем строку во временный файл
tf.write('Python - это весело!')
# Возвращаемся в начало файла перед чтением
tf.seek(0)
# Читаем, что мы написали
print(tf.read()) # Вывод: Python - это весело!
# И вот так, файл исчезает, как только вы выходите из блока
Этот код использует менеджер контекста для управления файлом, который автоматически очищает за собой. Никаких оставшихся файлов!
Глубокое Погружение:
Временные файлы не новинка. Они использовались с зари вычислительной техники для хранения эфемерных данных. Модуль tempfile
в Python берет на себя грязные детали, такие как генерация уникальных имен и удаление файлов после использования. Если вам нужен еще больший контроль, есть NamedTemporaryFile
, к которому вы можете обратиться по имени в течение его короткой жизни. Но помните, его цель - быть временным:
import tempfile
# Создаем именованный временный файл
with tempfile.NamedTemporaryFile(delete=True) as ntf:
print(f'Имя временного файла: {ntf.name}') # У него есть настоящее имя!
# Тем не менее, он исчезает после использования
И почему бы не использовать обычные файлы? Просто: Использование tempfile
избавляет вас от беспорядка и потенциальных конфликтов — представьте, что ваш скрипт перезапускается, и повторно используется то же имя файла. Будет беспорядок, правда?
Смотрите также:
- Документация Python по tempfile: https://docs.python.org/3/library/tempfile.html
- Учебник по файловому вводу-выводу в Python: https://realpython.com/read-write-files-python/