Darsliklar Python Fayl o'chirish

Python Python Fayl o'chirish

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’chirishdiskdagi faylni butunlay olib tashlash amali. Python’da bu vazifa os moduli 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.