Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
2590

Удаление содержимого папки в Python

Существуют ситуации, когда в процессе работы с файловой системой на языке Python возникает необходимость удалить все файлы в указанной директории. Это

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

В Python для работы с файловой системой есть модуль os. Для удаления файлов внутри директории можно использовать функцию os.remove(). Однако, прежде чем удалить файл, нужно получить его полный путь. Это можно сделать с помощью функции os.path.join(path, file), где path — путь к директории, а file — имя файла.

import os

def delete_files_in_folder(folder_path):
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        try:
            if os.path.isfile(file_path):
                os.remove(file_path)
        except Exception as e:
            print(f'Ошибка при удалении файла {file_path}. {e}')

В этом коде функция delete_files_in_folder принимает путь к папке folder_path и удаляет все файлы внутри неё. Если в процессе удаления возникнет исключение, оно будет залогировано в консоли.

Если же нужно удалить все файлы и поддиректории внутри указанной папки, то можно воспользоваться модулем shutil и его функцией shutil.rmtree(), а затем создать пустую директорию с помощью os.mkdir().

import shutil
import os

def delete_everything_in_folder(folder_path):
    shutil.rmtree(folder_path)
    os.mkdir(folder_path)

В этом коде функция delete_everything_in_folder полностью удаляет папку по указанному пути и все её содержимое, а затем создаёт новую пустую папку с тем же именем.

Обратите внимание, что удаление файлов и папок — это необратимая операция, поэтому перед использованием этих функций убедитесь, что вы не удалите важные данные.

Добавить комментарий