Как удалять старые файлы на python

Admin Python

Будем удалять файлы из директории, если их больше определенного количества.

Функции будут полезны при создании скриншотов на python.

Функция сбора файлов в папке

def get_files(path):
    files = []

    directory = os.listdir(path)
    directory.sort(reverse=True)

    for file in directory:
        if file.endswith('.jpg'):
            files.append(file)
    return files

Будем считать, что наши файлы были сохранены через timestamp. Пример есть в статье оптимизация скриншотов на python. Это нужно для их правильной сортировки.

Функция удаления старых файлов

Мы будем удалять файлы, если их будет становится больше 30 штук. Старые будут удаляться в первую очередь.

def remove_old_files(path, files):
    """ Оставляет последние 30 файлов, остальные удаляет """
    max_files = 30
    if len(files) < max_files:
        return
    i = 0
    for f in files:
        i += 1
        if i > max_files:
            os.remove(os.path.join(path, f))

Использование

path = 'public/build/screenshots'
files = get_files(path)
remove_old_files(path, files)

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Как удалять старые файлы на python"