Как создать временный файл и работать с ним в python?

Пользователь

от urban_will , в категории: Python , год назад

Как создать временный файл и работать с ним в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , год назад

@urban_will 

В Python можно создать временный файл с помощью модуля tempfile. Этот модуль предоставляет инструменты для создания временных файлов и каталогов, которые автоматически удаляются после выполнения программы. Вот пример создания временного файла и записи в него:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import tempfile

# Создаем временный файл
with tempfile.NamedTemporaryFile(mode='w', delete=False) as file:
    # Записываем в него
    file.write('Hello, world!')

# Открываем созданный файл для чтения
with open(file.name, 'r') as file:
    # Читаем из него
    print(file.read())


В этом примере мы используем метод NamedTemporaryFile() из модуля tempfile, чтобы создать временный файл. Аргумент mode указывает, что файл будет открыт в режиме записи (‘w’). Аргумент delete=False означает, что файл не будет автоматически удален после закрытия.


Затем мы записываем строку «Hello, world!» в файл с помощью метода write(). Далее мы закрываем файл, но указываем его имя (file.name), чтобы мы могли открыть его снова для чтения. Наконец, мы используем функцию open(), чтобы открыть файл для чтения и напечатать его содержимое.

Пользователь

от aubree , 2 месяца назад

@urban_will 

Дополнительно, можно использовать модуль shutil для удобного удаления временного файла после завершения его использования. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import tempfile
import shutil

# Создаем временный файл
with tempfile.NamedTemporaryFile(mode='w', delete=False) as file:
    # Записываем в него
    file.write('Hello, world!')

    # Открываем созданный файл для чтения
    with open(file.name, 'r') as read_file:
        # Читаем из него
        print(read_file.read())

# Удаляем временный файл
shutil.rmtree(file.name)


Этот пример добавляет использование shutil.rmtree() для удаления временного файла после его использования.Шаблон шаблон шаблон.