Asosiy kontentga o‘tish
Informatik.uz
4-bob. Fayllar bilan ishlash

Matnli fayllarni o‘qish va yozish

Dastur tugagach o‘zgaruvchilardagi ma’lumotlar yo‘qoladi. Faylga yozish va fayldan o‘qish orqali ma’lumotlarni doimiy saqlashni o‘rganamiz.

11-mavzu / 112 daq o‘qishYangilangan: 27-oktabr, 2026
Mavzular ro‘yxati (11 / 11)

O‘zgaruvchilar kompyuter xotirasida saqlanadi va dastur tugashi bilan o‘chib ketadi. Ma’lumotlarni uzoq saqlash uchun ularni faylga yozish kerak. Matnli fayl — oddiy matn saqlovchi fayl (masalan, notes.txt), uni istalgan muharrirda ochish mumkin. Python fayl bilan open() funksiyasi orqali ishlaydi.

Fayl uch bosqichda ishlatiladi: ochish, o‘qish yoki yozish, yopish. Eng qulay usul — with konstruksiyasi: with open("notes.txt", "w", encoding="utf-8") as f: va uning ichida f.write("Salom\n"). Blok tugagach fayl o‘zi yopiladi. Rejim harfi muhim: "r" — o‘qish, "w" — yozish (eski mazmun o‘chadi), "a" — oxiriga qo‘shish.

Faylni o‘qishning bir necha usuli bor. f.read() butun matnni bitta satr qilib beradi, f.readline() bitta qatorni o‘qiydi, f.readlines() esa qatorlar ro‘yxatini qaytaradi. Eng oddiy yo‘li — faylni sikl bilan aylanib chiqish: for line in f: va print(line.strip()). strip() qator oxiridagi ko‘rinmas o‘tish belgisini olib tashlaydi.

Agar o‘qilayotgan fayl mavjud bo‘lmasa, Python FileNotFoundError xatosini beradi. Uni try va except FileNotFoundError: bilan ushlab, foydalanuvchiga tushunarli xabar ko‘rsatish mumkin. O‘zbekcha harflar to‘g‘ri saqlanishi uchun encoding="utf-8" ni ko‘rsatishni odat qiling. Raqamlarni faylga yozishda ularni str() bilan satrga aylantiring.

Asosiy xulosalar

  • Faylga yozilgan ma’lumot dastur tugagandan keyin ham saqlanadi.
  • with open(nom, rejim, encoding="utf-8") as f: — fayl bilan ishlashning qulay usuli.
  • Rejimlar: "r" o‘qish, "w" yozish, "a" qo‘shish.
  • Mavjud bo‘lmagan fayl FileNotFoundError beradi; uni try/except bilan ushlash mumkin.

Amaliy topshiriqlar

  1. Foydalanuvchidan ismini so‘rab, uni names.txt fayliga "a" rejimida qo‘shadigan dastur yozing; uni 3 marta ishga tushiring.
  2. names.txt faylini qator-qator o‘qib, har bir ismni tartib raqami bilan chiqaring.
  3. Fayl qatorlari sonini sanaydigan dastur tuzing; fayl topilmasa, "Fayl topilmadi" xabarini chiqaring (try/except).

Mustahkamlash savollari

O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.

  1. 1`"w"` va `"a"` rejimlari qanday farq qiladi?
    `"w"` faylning eski mazmunini o‘chirib, yangidan yozadi; `"a"` esa mavjud mazmun oxiriga qo‘shadi.
  2. 2Nima uchun `with open(...)` ishlatish qulay?
    Blok tugagach fayl avtomatik yopiladi, yopishni unutish xavfi yo‘q.

0 / 11 mavzu o‘tildi

Kirib belgilash
Informatika 9-sinf darsligi muqovasi
DarslikdaInformatika — 9-sinf