

برای حذف یک پوشه غیر خالی در پایتون، می توانید استفاده کنید shutil
ماژولی که توابعی را برای کپی و حذف فایل ها و دایرکتوری ها فراهم می کند.
توجه! این راهنما به شما نشان می دهد که چگونه فایل ها و دایرکتوری ها را برای همیشه حذف کنید. مطمئن شوید که مسیرهای فایل را مشخص کرده اید تا 100% مطمئن شوید که دایرکتوری هایی را که می خواهید حذف کنید حذف کنید.
برای حذف یک دایرکتوری و تمام محتویات آن، از جمله همه زیر شاخه ها و فایل ها، می توانید استفاده کنید rmtree
عملکرد.
مثلا:
import shutil # Replace with the path to the directory you want to remove directory = '/path/to/directory' shutil.rmtree(directory)
با این کار دایرکتوری و تمام محتویات آن از جمله همه زیر شاخه ها و فایل ها حذف می شود. توجه داشته باشید که این روش فایل های فقط خواندنی را حذف نمی کند! در عوض یک خطا خواهید دید.
بیایید به چند روش جایگزین برای حذف پوشه های غیر خالی با پایتون نگاه کنیم.
رویکردهای جایگزین
1. تابع “os.walk”.
برای حذف یک پوشه غیر خالی در پایتون، می توانید فایل ها را به صورت جداگانه با استفاده از آن حذف کنید os.walk
عملکرد.
در اینجا به صورت کد به نظر می رسد:
import os # Replace with the path to the directory you want to remove directory = '/path/to/directory' # Use os.walk to traverse the directory tree for root, dirs, files in os.walk(directory): # For each file in the directory for file in files: # Construct the full path to the file file_path = os.path.join(root, file) # Delete the file os.remove(file_path) # For each subdirectory in the directory for dir in dirs: # Construct the full path to the subdirectory dir_path = os.path.join(root, dir) # Delete the subdirectory os.rmdir(dir_path) # Delete the top-level directory os.rmdir(directory)
این کد استفاده می کند os.walk
تابعی برای عبور از درخت دایرکتوری و حذف هر فایل و زیر شاخه در دایرکتوری مشخص شده است. پس از حذف همه فایل ها و زیر شاخه ها، دایرکتوری سطح بالا نیز حذف می شود.
2. ماژول Pathlib
برای حذف یک پوشه غیر خالی در پایتون با استفاده از pathlib
ماژول می توانید از کد زیر استفاده کنید:
import pathlib # A recursive function to remove the folder def del_folder(path): for sub in path.iterdir(): if sub.is_dir(): # Delete directory if it's a subdirectory del_folder(sub) else : # Delete file if it is a file: sub.unlink() # This removes the top-level folder: path.rmdir() # Example use del_folder(pathlib.Path('path/to/folder'))
این کد استفاده می کند iterdir
روشی برای عبور از درخت دایرکتوری و حذف هر فایل و زیر شاخه در دایرکتوری مشخص شده. پس از حذف همه فایل ها و زیر شاخه ها، دایرکتوری سطح بالا نیز حذف می شود.
با تشکر برای خواندن. کد نویسی مبارک!
همچنین بخوانید
نحوه کپی کردن فایل در پایتون