Fayl o’chirish — fayllar bo’limining yakuniy mavzusi. Ma’lumotni yaratish va o’qishni bilgach, keraksiz bo’lib qolgan fayllarni tozalashni ham o’rganishimiz kerak. Vaqtinchalik fayllar, eskirgan loglar, bekor qilingan hisobotlar — bularni to’g’ri va xavfsiz o’chirish ham dasturchining mahoratidir.
Fayl o’chirish — diskdagi faylni butunlay olib tashlash amali. Python’da bu vazifa
osmoduli orqali bajariladi, chunki fayl tizimini boshqarish operatsion tizim bilan bog’liq.
os.remove() — faylni o’chirish
Faylni o’chirish uchun os modulining remove() funksiyasi ishlatiladi:
import os
os.remove("eski.txt")
print("Fayl o'chirildi")
Fayl o'chirildi
os.remove() faylni butunlay o’chiradi — savatchaga tashlamaydi, tiklab bo’lmaydi. Shuning uchun bu amalni bajarishdan oldin yaxshilab o’ylang.
Avval mavjudligini tekshirish
Mavjud bo’lmagan faylni o’chirishga urinsangiz, FileNotFoundError yuz beradi. Shuning uchun o’chirishdan oldin faylni tekshirish — professional yondashuv:
import os
if os.path.exists("eski.txt"):
os.remove("eski.txt")
print("Fayl o'chirildi")
else:
print("Fayl topilmadi, o'chirishga hojat yo'q")
Fayl topilmadi, o'chirishga hojat yo'q
Bu “avval tekshir, keyin o’chir” naqshi xatoning oldini oladi va kodni ishonchli qiladi.
try-except bilan xavfsiz o’chirish
Tekshirish o’rniga (yoki u bilan birga) try-except ham ishlatish mumkin. Bu ayniqsa bir necha faylni ketma-ket o’chirganda qulay:
import os
try:
os.remove("hisobot.txt")
print("Muvaffaqiyatli o'chirildi")
except FileNotFoundError:
print("Xato: fayl mavjud emas")
except PermissionError:
print("Xato: o'chirish uchun ruxsat yo'q")
Muvaffaqiyatli o'chirildi
E’tibor bering: PermissionError — fayl boshqa dastur tomonidan band bo’lganda yoki ruxsat yetishmaganda yuz beradi. Uni ham hisobga olish dasturingizni yanada mustahkam qiladi.
Papka o’chirish
os.remove() faqat fayllar uchun. Bo’sh papkani o’chirish uchun alohida funksiyalar bor:
| Funksiya | Vazifasi |
|---|---|
os.remove() |
faylni o’chiradi |
os.rmdir() |
bo’sh papkani o’chiradi |
shutil.rmtree() |
papkani ichidagilari bilan o’chiradi |
Ichida fayllari bor papkani o’chirish uchun shutil moduli kerak:
import shutil
shutil.rmtree("eski_papka")
print("Papka to'liq o'chirildi")
Papka to'liq o'chirildi
Diqqat: shutil.rmtree() papkani butun tarkibi bilan yo’q qiladi. Bu juda kuchli, ayni paytda xavfli amal — yo’lni ikki marta tekshirmasdan ishlatmang.
Xulosa
Bu bo’limda os.remove() bilan fayl o’chirish, mavjudlikni tekshirish, try-except bilan xavfsizlash va shutil.rmtree() bilan papka o’chirishni o’rgandik. Eng muhim qoida: o’chirish qaytarilmas amal, shuning uchun doim tekshirib bajaring.