Добавить в корзинуПозвонить
Найти в Дзене

Python скрипт для удаления файлов и папок, с встроеным списком исключений.

Всем привет! Я решил поделиться скриптом, чтобы такие же неучи как я меньше страдали. Суть скрипта в следующем. У нас на сервере есть папка, в которой юзвери постоянно плодят всякий хлам, но мы не можем удалить все. Всегда должны оставаться некоторые папки и файлы. Поэтому нам нужен подобный скрипт, который через планировщик задач с определенным промежутком времени будет все это выметать. -------------------------------------------------------------- import os import shutil path = 'G:/Folder/Folder2/test_del/' retain = ["not_del", "New Folder", "not_del.txt", "not_del_2.txt"] # Список исключенных папок и файлов os.chdir(path)  # Подставляем наш путь for item in os.listdir(os.getcwd()): # getcwd этим мы даем право на манипуляции нашему скрипту if item not in retain:  # Если в item нет в списке if os.path.isdir(item): # Проверяем является ли item папкой shutil.rmtree(item)  # Удаляем директории for item in os.listdir(os.getcwd()): if item not in retain: os.remove(item) # Удаляем фай

Всем привет!

Я решил поделиться скриптом, чтобы такие же неучи как я меньше страдали.

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

--------------------------------------------------------------

import os

import shutil

path = 'G:/Folder/Folder2/test_del/'

retain = ["not_del", "New Folder", "not_del.txt", "not_del_2.txt"] # Список исключенных папок и файлов

os.chdir(path)  # Подставляем наш путь

for item in os.listdir(os.getcwd()): # getcwd этим мы даем право на манипуляции нашему скрипту

if item not in retain:  # Если в item нет в списке

if os.path.isdir(item): # Проверяем является ли item папкой

shutil.rmtree(item)  # Удаляем директории

for item in os.listdir(os.getcwd()):

if item not in retain:

os.remove(item) # Удаляем файлы

--------------------------------------------------------------------------

Я не использовал os.rmdir потому что он не может удалять не пустые папки.

Надеюсь кому-нибудь это будет полезно.