12.2. Fayllar ustida amallar bajarish
Faylar ustida qandaydir amallarni bajarish uchun avval bu fayllarni ochish lozim. Fayl ochilganidan so`ng, unda saqlanayotgan ma`lumotlar doirasida quyidagi amallarni bajarish mumkin:
a) faylni yangidan tashkil qilish;
b) yangi ma`lumotlarni yozish (davomiga qo`shish);
s) fayldagi ma`lumotlarni o`qish.
Python tili yozilgan dasturlarda fayllar bilan ishlash quyidagi ketma-ketlikda amalga oshiriladi:
1. fayl manzilini ko`rsatgan holda ma`lum bir maqsad bilan (o`qish yoki yozish) maxsus funktsiya yordamida ochiladi;
2. fayldagi ma`lumotlarni faylli o`zgaruvchi yordamida qayta jarayonini tashkil qilinadi;
3. fayl yopiladi.
Faylli o`zgaruvchi—bu faylli tipdagi o`zgaruvchi bo`lib, faylning nomi va manzilini bir qiymatli ko`rsatish uchun hizmat qiladi.
Fayllarni ochish
Matnli fayllarni ochish uchun Python tilida ichki open() metodidan foydalaniladi. Bu metod yordamida komp’yuter xotira qurilmalaridan birida saqlanayotgan ihtiyoriy faylni ochish mumkin. Amalda, bu buyruq asosida Python ob`ekt yaratadi. Buyruqning umumiy ko`rinishi quyidagicha:
f = open(file_name, access_mode)
bu yerda f-faylli o`zgaruvchi, file_name – ochilayotgan faylning nomi, access_mode = faylni ochish rejimi (maqsadi). Bunday e`londan so`ng, f-faylli o`zgaruvchi ko`rsatilgan manzildagi file_name faylini anglata boshlaydi va f-fayli bilan bog’liq barcha amallar ana shu fayl ustida bajariladi.
Faylni ochish rejimlari quyidagilardan biri bo`lishi mumkin:
rejim
|
mazmuni
|
r
|
faqat o`qish uchun.
|
w
|
faqat yozish uchun. Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yaratiladi.
|
rb
|
faqat o`qish uchun (binar).
|
wb
|
faqat yozish uchun (binar). Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yaratiladi.
|
r+
|
o`qish va yozish uchun.
|
rb+
|
o`qish va yozish uchun (binar).
|
w+
|
o`qish va yozish uchun. Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yaratiladi.
|
wb+
|
o`qish va yozish uchun (binar). Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yaratiladi.
|
a
|
faylga yangi ma`lumotlarni qo`shish. Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yozish uchun yaratiladi.
|
a+
|
faylga yangi ma`lumotlarni qo`shish. Agar ko`rsatilgan nomli fayl topilmasa, u holda yangi fayl yozuvlarni o`qish uchun yaratiladi.
|
ab
|
faylga yangi binar ma`lumotlarni qo`shish. Agar ko`rsatilgan nomdagi fayl topilmasa, u holda yangi fayl yozish uchun yaratiladi.
|
ab+
|
faylga yangi binar ma`lumotlarni qo`shish. Agar ko`rsatilgan fayl topilmasa, u holda yangi fayl yozuvlarni o`qish uchun yaratiladi.
|
Misol uchun, satrlardan iborat matn.txt fayli yaratilgan va Python papkasida saqlab qo`yilgan bo`lsin.
Quyidagi ko`rsatma shu faylni o`qish rejimida ochish uchun xizmat qiladi:
f = open('example.txt','r')
Bu misolda f — o`zgaruvchi matn.txt faylini ko`rsatmoqda. SHundan keyin bu o`zgaruvchi ishtirok etadigan barcha amallar matn.txt fayli ustida bajariladi. Jumladan, print(*f) buyrug’i matn.txt faylida saqlanayotgan matnni ekranga chiqaradi; print(f) esa faylni open() metodi qaytaradigan io.TextIOWrapper klassining ob`ekti sifatida qabul qiladi va uning attriutlarini ekranga uzatadi. Bu ob`ektning attributlari uchta:
name — faylning nomi;
mode — faylning ochish rejimi;
closed — agar fayl yopiq bo`lsa - True.
Quyidagi namunaga e`tibor bering.
SHuni yodda saqlash kerakki, Windows operatsion tizimda standart kodlash usuli — cp1252, Linux da esa — utf-08.
Do'stlaringiz bilan baham: |