Nur einige Python 3.5 Optionen, um die obigen Antworten zu vervollständigen. (Ich hätte sie gerne hier gefunden).
import os
import shutil
from send2trash import send2trash # (shutil delete permanently)
Ordner löschen, wenn leer
root = r"C:\Users\Me\Desktop\test"
for dir, subdirs, files in os.walk(root):
if subdirs == [] and files == []:
send2trash(dir)
print(dir, ": folder removed")
Löschen Sie auch den Ordner, wenn er diese Datei enthält
elif subdirs == [] and len(files) == 1: # if contains no sub folder and only 1 file
if files[0]== "desktop.ini" or:
send2trash(dir)
print(dir, ": folder removed")
else:
print(dir)
Ordner löschen, wenn er nur .srt- oder .txt-Dateien enthält
elif subdirs == []: #if dir doesn’t contains subdirectory
ext = (".srt", ".txt")
contains_other_ext=0
for file in files:
if not file.endswith(ext):
contains_other_ext=True
if contains_other_ext== 0:
send2trash(dir)
print(dir, ": dir deleted")
Löschen Sie den Ordner, wenn er weniger als 400kb groß ist:
def get_tree_size(path):
"""Return total size of files in given path and subdirs."""
total = 0
for entry in os.scandir(path):
if entry.is_dir(follow_symlinks=False):
total += get_tree_size(entry.path)
else:
total += entry.stat(follow_symlinks=False).st_size
return total
for dir, subdirs, files in os.walk(root):
If get_tree_size(dir) < 400000: # 400kb
send2trash(dir)
print(dir, "dir deleted")