5 روش برای حذف فایل در پایتون
برنامه نویسان پایتون از فایل ها برای اهداف مختلفی استفاده می کنند. یکی از مهم ترین عملکردهایی که باید هنگام کار با فایل ها بدانید، نحوه حذف یک فایل است. حذف فایل ها بدون درک خوب از توابع، روش ها و کتابخانه های داخلی می تواند مشکلات زیادی ایجاد کند.
در پایتون به پنج روش زیر میتوانید اقدام به حذف فایل کنید:
- os.remove
- os.rmdir
- shutil.rmtree
- pathlib.Path.unlink
- pathlib.Path.rmdir
ویدیو پیشنهادی: آموزش ماژول os در پایتون
# حذف فایل با ماژول os پایتون
ماژول os پایتون یک رابط سیستم عامل برای استفاده از عملکردهای سیستم عامل است. شما می توانید فایل ها، مسیرها، دایرکتوری ها و موارد دیگر را دستکاری کنید. ما مستقیماً روی روش هایی تمرکز می کنیم که به وسیله آنها می توانیم یک فایل یا کل فهرست را حذف کنیم.
+ تابع remove
تابع remove از ماژول os پایتون برای حذف مسیر فایل استفاده میشود. سینتکس این تابع به شکل زیر است:
os.remove(path, *, dir_fd=None)
این تابع نمیتواند یک دایرکتوری را حذف کند. اگر مسیر مشخص شده یک دایرکتوری باشد با خطای OSError مواجه خواهید شد. به مثال زیر دقت کنید:
import os
os.remove('Desktop/one.txt')
در مثال بالا، فایل one.txt که در دسکتاپ قرار داشت را حذف کردیم.
+ تابع rmdir
تابع rmdir از ماژول os پایتون برای حذف یک دایرکتوری خالی استفاده میشود. سینتکس این تابع به شکل زیر است:
os.rmdir(path, *, dir_fd = None)
اگر دایرکتوری مشخص شده خالی نباشد با خطای OSError مواجه خواهید شد. به مثال زیر دقت کنید:
import os
os.rmdir('Desktop/images')
در مثال بالا، دایرکتوری images را از داخل دسکتاپ حذف کردیم.
ویدیو پیشنهادی: ماژول shutil پایتون برای کار با فایل ها
# حذف فایل با ماژول shutil پایتون
ماژول Shutil پایتون در سطح بالاتری نسبت به ماژول os ساخته شده است. هر فراخوانی تابع shutil می تواند چندین تماس را در سطح پایین تر نشان دهد. ماژول Shutil برای مدیریت فایل استفاده می شود. این ماژول به خودکارسازی فرآیند کپی و حذف فایل ها و دایرکتوری ها کمک می کند.
+ تابع rmtree
تابع rmtree از ماژول shutil پایتون برای حذف تمام درخت دایرکتوری استفاده میشود. مسیری که به این تابع ارسال میکنید باید به یک دایرکتوری اشاره کند. سینتکس این تابع به شکل زیر است:
shutil.rmtree(path, ignore_errors=False, onerror=None)
در تابع rmtree پارامتر path به یک دایرکتوری اشاره میکند. پارامتر ignore_errors که به صورت پیشفرض False است برای نادیده گرفته خطاها استفاده میشود و onerror اشاره به یک فانکشن میکند که برای کنترل خطا استفاده میشود. به مثال زیر دقت کنید:
import shutil
shutil.rmtree('/var/logs/')
در مثال بالا، هر چیزی که در دایرکتوری logs وجود دارد حذف خواهد شد.
دوره پیشنهادی: دوره آموزش پایتون
# حذف فایل با ماژول pathlib پایتون
pathlib یک ماژول پایتون است که یک API ساده برای کار با فایل ها و دایرکتوری ها ارائه می دهد. ماژول pathlib در پایتون 3.4 به کتابخانه استاندارد اضافه شد. Pathlib امکان مدیریت فایل در سیستم عامل های مختلف را فراهم می کند.
+ تابع unlink
میتوانید از تابع unlink ماژول pathlib پایتون برای حذف فایل ها استفاده کنید. سینتکس این تابع به شکل زیر است:
Path.unlink(missing_ok=False)
اگر پارامتر missing_ok را True قرار دهید، در صورت عدم وجود فایل با خطای FileNotFoundError مواجه خواهید شد. به مثلا زیر دقت کنید:
from pathlib import Path
path = Path('file.txt')
path.unlink()
+ تابع rmdir
تابع rmdir از ماژول pathlib پایتون برای حذف یک دایرکتوری استفاده میشود. این تابع هیچ آرگومانی نمیگیرد و به شکل زیر استفاده میشود:
from pathlib import Path
path = Path('dir')
path.rmdir()
در این تابع اگر دایرکتوری خالی نباشد با خطای OSError و اگر مسیر به یک فایل اشاره کند با خطای NotADirectoryError مواجه خواهید شد.