O‘zbеkiston rеspublikasi oliy va o‘rta maxsus ta’lim vazirligi andijon davlat univеrsitеti axborot tеxnologiyalari va kompyutеr injiniringi fakultеti axborot tеxnologiyalari kafеdrasi kurs ishi


Download 218.51 Kb.
bet4/8
Sana06.04.2023
Hajmi218.51 Kb.
#1334440
1   2   3   4   5   6   7   8
Bog'liq
Ostonaqulova O\'g\'iloy

Fayl ob'ektlari usullari


Quyidagi misollar f nomli fayl ob'ekti oldindan yaratilgan deb taxmin qiladi.
Fayl tarkibini o'qish uchun f.read ga qo'ng'iroq qilinghajmi) - funktsiya ma'lum bir ma'lumotni o'qiydi va uni satr yoki bayt ob'ekti sifatida qaytaradi. hajmi - ixtiyoriy raqamli parametr. Agar hajmi o'tkazib yuborilgan yoki salbiy bo'lsa, faylning barcha tarkibi o'qiladi va qaytariladi, agar fayl sizning kompyuteringizning RAMidan ikki baravar katta bo'lsa, unda bu muammoni hal qilish vijdoningizda qoladi. Aks holda, maksimal miqdor o'qiladi va qaytariladi. hajmi bayt Agar fayl oxiriga yetgan bo'lsa, f.read () bo'sh satrni qaytaradi ().
f.readline () fayldan bitta satrni o'qiydi, satr oxirida belgi ( n) o'qilgan satr oxirida qoladi va agar fayl bo'sh satr bilan tugamasa faqat faylning oxirgi qatorini o'qiyotganda mavjud bo'lmaydi. Shu sababli, qaytish qiymati bir ma'noga ega bo'ladi: agar f.readline () bo'sh satrni qaytarsa, faylning oxiriga erishiladi va shu bilan birga ' n' bilan ko'rsatilgan bo'sh qator faqat yangi satrni o'z ichiga oladi.
f.readlines () faylda joylashgan barcha ma'lumotlarning satrlarini o'z ichiga olgan ro'yxatni qaytaradi. Agar ixtiyoriy hint_size parametri o'tkazilsa, funktsiya fayldan belgilangan baytlarning sonini o'qiydi va qo'shimcha ravishda ma'lum baytlarni qo'shib, satrni to'ldirish uchun kifoya qiladi va natijada chiziqlar ro'yxatini hosil qiladi. Funktsiya odatda katta hajmdagi fayllarni ketma-ket o'qish uchun yanada samaraliroq foydalanish uchun ishlatiladi (fayl to'liq xotiraga yuklanmaydi). Faqat to'liq (tugallangan) qatorlar qaytariladi.
Satrlarni o'qishning muqobil varianti bu fayl ob'ekti bo'ylab aylanishdir. U tezkor, xotirasi samarali va natijada oddiy kod mavjud:
Shu bilan bir qatorda alternativa usuli sodda, ammo nima bo'layotganini nozik nazorat bilan ta'minlamaydi. Ushbu ikkala usul ham chiziqni buferlash bilan har xil usulda ishlaganligi sababli ularni aralashtirish kerak emas.
f. yozish (tor) tarkibini yozadi torlari faylga yozilgan baytlarning sonini qaytaradi.
Satrdan faylga boshqa narsani yozish uchun, avval satrga biror narsani o'zgartirish kerak:
f.tell () fayl boshidagi bayt bilan o'lchanadigan f faylidagi joriy holatni bildiruvchi butun sonni qaytaradi. Fayl ob'ektining o'rnini o'zgartirish uchun f.seek (joy almashtirish, qayerdan) Lavozim ofsetni mos yozuvlar nuqtasiga qo'shish orqali hisoblanadi, mos yozuvlar nuqtasi parametrdan tanlanadi qayerdan . Parametr qiymati 0 qayerdan faylning boshidan boshlab hisob-kitobni o'lchaydi, 1 qiymati fayldagi joriy pozitsiyani qo'llaydi va 2 qiymati faylning oxirini mos yozuvlar nuqtasi sifatida ishlatadi. Parametr qayerdan sukut bo'yicha 0 qiymatiga o'tkazib yuborilishi mumkin va faylning boshlanishini mos yozuvlar nuqtasi sifatida ishlatadi.
Matnli fayllar bilan ishlashda (rejim satrida b harfisiz ochilgan) qidirishga faqat fayl boshidan ruxsat beriladi (izlash (0, 2) yordamida fayl oxiriga o'tishdan tashqari).
Faylda barcha harakatlarni tugatgandan so'ng, uni yopish uchun f.close () ga qo'ng'iroq qiling va ushbu faylni ochishda ishlatilgan barcha tizim manbalarini bo'shating. F.close () ni chaqirgandan so'ng, fayl ob'ektidan foydalanishga bo'lgan barcha urinishlar istisno qiladi.
Fayl ob'ektlari bilan ishlashda kalit so'zni ishlatish yaxshi amaliyot hisoblanadi. Ushbu usulning afzalligi shundaki, blok har doim bajarilgandan so'ng yoki agar ijro paytida istisno qilingan bo'lsa, fayl har doim to'g'ri yopiladi. Bunga qo'shimcha ravishda, natijada olingan kod blokli ekvivalent shaklga qaraganda ancha qisqa urinib ko'ring - nihoyat :

Download 218.51 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling