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: |