Создание временного файла

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 избавляет вас от беспорядка и потенциальных конфликтов — представьте, что ваш скрипт перезапускается, и повторно используется то же имя файла. Будет беспорядок, правда?

Смотрите также: