Задачу временного файла можно выполнить без использования модуля tempfile, создав простой файл. Для этого вы должны создать обычный файл, выполнить временные задачи и удалить файл после выполнения задач. В этом примере временный файл с именем temp.txt открывается в режиме записи, и во временный файл записывается текст. Модуль ‘ os ‘ используется здесь для чтения содержимого файла temp.txt и удаления файла после выполнения задачи.
# Открыть файл в режиме чтения
fh = open(filename, ‘w’)
try:
# Распечатать сообщение перед записью
print(“Запись в файл >>> \n”)
# Записываем строку в файл
fh.write(“Тестирование временного файла”)
# Наконец, закроем файл после записи
fh.close()
finally:
# Напечатайте сообщение перед чтением
print(“<<< Чтение из файла”)
# Запустить команду bash, чтобы прочитать файл
os.system(“cat temp.txt”)
# Распечатать новую строку
print(“\n”)
# Удалить временный файл
os.remove(filename)
В этом примере для создания временного файла используется модуль tempfile. В этом модуле есть много методов работы с временным файлом. Метод TemporaryFile() используется здесь для создания временного файла. Временный файл открывается в сценарии как текстовый файл в режиме записи. По умолчанию временный файл будет создан в текущем месте. Две строки текста записываются во временный файл с помощью метода write(). Затем вызывается метод seek(), чтобы установить указатель файла в начало файла. Содержимое файла печатается в терминале с помощью метода read(). Метод close() модуля используется для закрытия файла и автоматического удаления файла.
# Распечатать сообщение перед записью
print(‘Запись во временный файл …’)
# Записать данные во временный файл
tmp.write(‘AndreyEx \n’)
tmp.write(‘Содержимое временного файла’)
# Перейти к началу файла
tmp.seek(0)
# Прочитать содержимое временного файла
print(‘ Чтение временного файла: \n {0} ‘.format(tmp.read()))
finally:
# Автоматическое удаление временного файла
tmp.close()
В предыдущем примере имя временного файла создается случайным образом. Но если вы хотите установить любое собственное имя для временного файла, вы должны использовать метод NamedTemporaryFile() для создания временного файла. В этом примере временный файл открывается в режиме записи с помощью метода NamedTemporaryFile(). Далее устанавливается имя файла temp.txt. Одна строка текста записывается в файл и считывается из файла, как в предыдущем примере. Ранее упоминалось, что временный файл удаляется автоматически при вызове метода close(). После удаления здесь используется модуль ‘os’, чтобы проверить, существует ли временный файл.
# Объявить объект для открытия временного файла для записи
tmp = tempfile.NamedTemporaryFile(‘w + t’)
# Объявить имя временного файла
tmp.name = “temp.txt”
try:
# Распечатать сообщение перед записью
print(‘Записать данные во временный файл …’)
# Записать данные во временный файл
tmp.write(‘Это временное содержимое.’)
# Перейти к началу файла
tmp.seek(0)
# Прочитать содержимое временного файла
print(‘Прочитать содержимое временного файла: \n {0}’ .format(tmp.read()))
finally:
# Удалить файл автоматически
tmp.close()
# Проверить, существует ли файл,
if (os.path.exists(tmp.name)) :
print(‘Файл существует’)
else:
print(‘Файл не существует’)
Все временные файлы создаются в текущем месте для предыдущих примеров. Местоположение временного файла, а также префикс и суффикс для временного файла можно указать во время создания файла с помощью метода NamedTemporaryFile(). Согласно следующему сценарию, временное имя файла будет начинаться с «tm_» и заканчиваться на «_fl». Файл будет сохранен в папке «/tmp». После создания файла временное имя файла печатается с использованием свойства name . Затем модуль ‘ os’ проверяет, удален файл или нет.
# Объявить объект для создания временного файла с суффиксом и префиксом
tmp = tempfile.NamedTemporaryFile(mode = ‘w + t’, prefix = ‘tm_’, suffix = ‘_fl’, dir = ‘/tmp’)
# Распечатать временное имя файла
print(tmp.name)
try:
# Распечатать сообщение перед записью
print(‘Записать данные во временный файл …’)
# Записать данные во временный файл
tmp.write(‘Это временное содержимое.’)
finally:
# Автоматически удалить файл
tmp.close()
if (os.path.exists(tmp.name) == False) :
print(‘Файл удален’)
Обычным требованием для любого языка программирования является создание временного файла для выполнения многих задач по запросу и работы с теми данными, которые не требуется хранить постоянно. В этой статье объясняются некоторые необходимые методы модуля tempfile, чтобы показать способы использования временного файла. Надеюсь, читатель сможет легко создавать и использовать временные файлы после прочтения этой статьи.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята