Darsliklar Python Fayl o'qish

Python Python Fayl o'qish

Fayllar bilan ishlashga kirganimizdan so’ng, endi fayl o’qishni chuqur o’rganamiz. Diskdagi ma’lumotni dasturga olib kirish — bu kundalik vazifa: sozlama fayllari, log yozuvlari, matnli hisobotlar, JSON ma’lumotlari. Python fayl o’qishning bir necha qulay usulini beradi.

Fayl o’qishdiskdagi fayl tarkibini dastur xotirasiga olib kirish jarayoni. Python read(), readline() va readlines() metodlari hamda sikl orqali o’qishning turli usullarini taqdim etadi.

Butun faylni o’qish — read()

Eng sodda usul — read() metodi butun fayl tarkibini bitta satr sifatida qaytaradi. Faraz qilaylik, matn.txt faylida uch qator bor:

with open("matn.txt", "r") as fayl:
    tarkib = fayl.read()
    print(tarkib)
Birinchi qator
Ikkinchi qator
Uchinchi qator

read() faylni to’liq o’qidi. Bu kichik fayllar uchun qulay, biroq juda katta fayllarda butun tarkibni xotiraga yuklash tavsiya etilmaydi.

O’qish metodlari

Fayl o’qishning asosiy metodlarini jadvalda solishtiramiz:

Metod Qaytaradi
read() butun faylni bitta satr sifatida
read(n) dastlabki n ta belgini
readline() bitta qatorni
readlines() barcha qatorlarni ro’yxat sifatida

read(n) bilan faqat kerakli qismini o’qish mumkin:

with open("matn.txt", "r") as fayl:
    print(fayl.read(7))   # dastlabki 7 belgi
Birinch

Qatorma-qator o’qish — readline()

readline() faqat bitta qatorni o’qiydi. Har chaqirilganda keyingi qatorga o’tadi:

with open("matn.txt", "r") as fayl:
    print(fayl.readline().strip())
    print(fayl.readline().strip())
Birinchi qator
Ikkinchi qator

strip() bu yerda har qator oxiridagi ko’rinmas yangi qator belgisini (\n) olib tashlaydi — shuning uchun ortiqcha bo’sh qatorlar chiqmaydi.

Eng yaxshi usul: sikl bilan o’qish

Katta fayllarni o’qishning eng to’g’ri va tejamkor usuli — faylni to’g’ridan-to’g’ri for sikliga berish. U qatorma-qator o’qiydi va xotirani tejaydi:

with open("matn.txt", "r") as fayl:
    for raqam, qator in enumerate(fayl, start=1):
        print(f"{raqam}: {qator.strip()}")
1: Birinchi qator
2: Ikkinchi qator
3: Uchinchi qator

Bu yerda enumerate har bir qatorga tartib raqam qo’shdi. Faylni siklga berish — millionlab qatorli fayl bilan ham xotira to’lib ketmasdan ishlashning kalitidir.

Xato ehtimolini hisobga olish

Mavjud bo’lmagan faylni o’qishga urinsangiz, FileNotFoundError yuz beradi. Uni try-except bilan xavfsizlaymiz:

try:
    with open("yoq.txt", "r") as fayl:
        print(fayl.read())
except FileNotFoundError:
    print("Xato: bunday fayl topilmadi")
Xato: bunday fayl topilmadi

Bu naqsh — fayl o’qish va xatolarni boshqarishni birlashtirib — ishonchli dastur yozishning amaliy namunasi.

Xulosa

Bu darsda read(), read(n), readline(), readlines() metodlari, for sikli bilan tejamkor o’qish, enumerate va xatoni ushlashni o’rgandik. Katta fayllar uchun siklli o’qish eng maqbul usul. Keyingi darsda faylga yozish va yaratishga o’tamiz.