เพียงตัวเลือก python 3.5 เพื่อทำคำตอบให้สมบูรณ์ (ฉันอยากจะพบพวกเขาที่นี่)
import os
import shutil
from send2trash import send2trash # (shutil delete permanently)
ลบโฟลเดอร์หากไม่มีข้อมูล
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")
ลบโฟลเดอร์ด้วยถ้ามันมีไฟล์นี้
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)
ลบโฟลเดอร์หากมีไฟล์. srt หรือ. txt เท่านั้น
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")
ลบโฟลเดอร์หากมีขนาดน้อยกว่า 400kb:
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")