Фикстуры pytest позволяют создавать временные файлы и автоматически удалять их после теста:
    import pytest
    import tempfile
    import os
    @pytest.fixture
    def temp_file():
      """Создает временный файл и возвращает его имя."""
      with tempfile.NamedTemporaryFile(delete=False) as tmp:
        tmp_name = tmp.name
      yield tmp_name
      os.remove(tmp_name) # Удаляем файл после выполнения теста
    def test_use_temp_file(temp_file):
      """Тест, использующий временный файл."""
      file_path = temp_file
      with open(file_path, 'w') as f:
        f.write("Test data")
      assert os.path.exists(file_path)
      # После завершения теста файл будет автоматически удален.
  Пояснения:
tempfile.NamedTemporaryFile(delete=False) чтобы файл не удалялся сразу после закрытия.yield разделяет фикстуру на этапы: создание (до yield) и удаление (после yield).yield вызываем os.remove() для удаления временного файла.temp_file передается в тест как аргумент.Для создания временных файлов и их автоматического удаления после выполнения тестов в Python с использованием pytest, можно использовать фикстуру tmp_path.
Вот пример:
import pytest
import os
@pytest.fixture
def temp_file(tmp_path):
    """
    Создает временный файл и возвращает его путь.
    После завершения теста файл будет автоматически удален.
    """
    d = tmp_path / "sub"
    d.mkdir()
    p = d / "temp_file.txt"
    p.write_text("содержимое файла")
    return p
def test_use_temp_file(temp_file):
    """
    Тест, использующий временный файл.
    """
    path = temp_file
    assert os.path.exists(path)
    content = path.read_text()
    assert content == "содержимое файла"
    # после завершения этого теста файл будет удален
    Объяснение:
tmp_path:  Это встроенная фикстура pytest, которая предоставляет объект pathlib.Path, указывающий на временный каталог, уникальный для каждого теста. Этот каталог и все его содержимое будут автоматически удалены после завершения теста, даже если тест завершится неудачно.temp_file фикстура:
            tmp_path в качестве аргумента, получая доступ к временному каталогу.d = tmp_path / "sub", d.mkdir()).p = d / "temp_file.txt").p.write_text("содержимое файла")).pathlib.Path, представляющий путь к созданному файлу.test_use_temp_file функция:
            temp_file в качестве аргумента, получая путь к временному файлу, созданному фикстурой.test_use_temp_file pytest автоматически удалит временный каталог и все его содержимое (включая "sub" и "temp_file.txt"), обеспечивая чистую среду для следующих тестов.Преимущества использования tmp_path:
tmp_path работает на разных операционных системах.Альтернативные подходы (менее предпочтительны):
Хотя tmp_path является рекомендуемым способом, можно использовать модули tempfile и os для создания и удаления временных файлов, но это потребует ручного управления удалением, что более подвержено ошибкам и менее удобно.