# Delete everything reachable from the directory named in 'top',# assuming there are no symbolic links.# CAUTION: This is dangerous! For example, if top == '/', it# could delete all your disk files.import osfor root, dirs, files in os.walk(top, topdown=False):for name in files:os.remove(os.path.join(root, name))for name in dirs:os.rmdir(os.path.join(root, name))
import pathlib
def delete_folder(pth) :for sub in pth.iterdir() :if sub.is_dir() :delete_folder(sub)else :sub.unlink()pth.rmdir() # if you just want to delete the dir content but not the dir itself, remove this line
import shutildef remove_folder(path):# check if folder existsif os.path.exists(path):# remove if existsshutil.rmtree(path)else:# throw your exception to handle this special scenarioraise XXError("your exception")remove_folder("/folder_name")
from os import listdir, rmdir, removefor i in listdir(directoryToRemove):os.remove(os.path.join(directoryToRemove, i))rmdir(directoryToRemove) # Now the directory is empty of files
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 fileif files[0]== "desktop.ini" or:send2trash(dir)print(dir, ": folder removed")else:print(dir)
删除仅包含. srt或. txt文件的文件夹
elif subdirs == []: #if dir doesn’t contains subdirectoryext = (".srt", ".txt")contains_other_ext=0for file in files:if not file.endswith(ext):contains_other_ext=Trueif 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 = 0for 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_sizereturn total
for dir, subdirs, files in os.walk(root):If get_tree_size(dir) < 400000: # ≈ 400kbsend2trash(dir)print(dir, "dir deleted")
import os, statimport shutil
def remove_readonly(func, path, _):"Clear the readonly bit and reattempt the removal"os.chmod(path, stat.S_IWRITE)func(path)
shutil.rmtree(directory, onerror=remove_readonly)
def deleteDir(dirPath):deleteFiles = []deleteDirs = []for root, dirs, files in os.walk(dirPath):for f in files:deleteFiles.append(os.path.join(root, f))for d in dirs:deleteDirs.append(os.path.join(root, d))for f in deleteFiles:os.remove(f)for d in deleteDirs:os.rmdir(d)os.rmdir(dirPath)
python -c "import sys; import os; [os.chmod(os.path.join(rs,d), 0o777) for rs,ds,fs in os.walk(_path_) for d in ds]"python -c "import sys; import os; [os.chmod(os.path.join(rs,f), 0o777) for rs,ds,fs in os.walk(_path_) for f in fs]"python -c "import os; import shutil; shutil.rmtree(_path_, ignore_errors=False)"
from pathlib import Pathfrom typing import Union
def del_dir(target: Union[Path, str], only_if_empty: bool = False):"""Delete a given directory and its subdirectories.
:param target: The directory to delete:param only_if_empty: Raise RuntimeError if any file is found in the tree"""target = Path(target).expanduser()assert target.is_dir()for p in sorted(target.glob('**/*'), reverse=True):if not p.exists():continuep.chmod(0o666)if p.is_dir():p.rmdir()else:if only_if_empty:raise RuntimeError(f'{p.parent} is not empty!')p.unlink()target.rmdir()
#!/usr/bin/env python3
import shutilfrom os import path, systemimport sys
# Try to delete the folder ---------------------------------------------if (path.isdir(folder)):shutil.rmtree(folder, ignore_errors=True)
if (path.isdir(folder)):try:system("rd -r {0}".format(folder))except Exception as e:print("WARN: Failed to delete => {0}".format(e),file=sys.stderr)
if (path.isdir(self.backup_folder_wrk)):try:system("rd /s /q {0}".format(folder))except Exception as e:print("WARN: Failed to delete => {0}".format(e),file=sys.stderr)
if (path.isdir(folder)):print("WARN: Failed to delete {0}".format(folder),file=sys.stderr)# -------------------------------------------------------------------------------------
from pathlib import Path
def remove_path(path: Path):if path.is_file() or path.is_symlink():path.unlink()returnfor p in path.iterdir():remove_path(p)path.rmdir()
import shutilimport os
directory = "path/to/the/root/folder"files_in_directory = os.listdir(directory)
for file in files_in_directory:try:path_to_file_or_folder = os.path.join(directory, file)shutil.rmtree(path_to_file_or_folder)except:os.unlink(path_to_file_or_folder)