Fayl – Сохранить ketma-ketligi yoki Ctrl + S tugmalar kombinatsiyasi yordamida kerakli disk yoki biror avvaldan yaratilgan papka nomini tanlab, Сохранение muloqot oynasining Imya fayla maydoniga matn.txt so’zini kiritaylik. Сохранить tugmasini ishga tushiramiz. Natijada biz tanlagan papkada matn.txt matn fayli hosil bo’ladi.
Python tilida fayllarni ochishda yuqorida aytganimizdek, open funksiyasidan foydalanamiz. Funksiyaning umumiy ko’rinishi quyidagicha:
open(file{,modeqr,encodingqNone), bunda:
file – fayl yo’li nomi bilan
modeqr – faylga murojaat rejimi
encodingqNone – fayl kodirovkasi
D:
|
|
|
|
|
|
|
|
|
Misollar
|
|
|
|
|
|
|
|
|
|
|
|
|
reja.txt
|
|
|
|
|
|
|
|
|
matn.txt
|
|
|
|
|
|
|
|
Rasm
|
Ushbu rasmda matn.txt fayli D: diskning o’zak papkasi (katalogi) da joylashganligi uchun 'd:/matn.txt' ko’rinishda yozish mumkin. Agar matn.txt fayli dastur kodi yozilgan papkada joylashgan bo’lsa, disk yurituvchining nomi ko’rsatilmasligi mumkin.
Agar reja.txt fayliga murojaat qilish kerak bo’lsa, 'd:/Misollar/reja.txt' ko’rinishida yoziladi.
Quyida mavjud faylni ochish va oynaga chiqarish amallarini ko’rib o’tamiz. Faraz qilaylik, “e:” disk yurituvchining “PYTHON DASTURLAR” papkasida “matn.txt” fayli yaratilgan bo’lib, shu faylni ochish masalasini ko’rib o’taylik:
f = open ('e:/PYTHON DASTURLAR/matn.txt')
t = f.read()
print(t)
Natija:
Ey do‘stlarim, dunyoda
Ortda qolgan iz yaxshi,
Bulbuli yo‘q bahordan
Qumri to‘la kuz yaxshi.
Dastur kodining birinchi satrida open (ochish) funksiyasining argumenti sifatida matn fayli joylashgan va fayl nomii ko’rsatiladi. Ushbu funksiya orqali ochilgan fayl ob’ekti f o’zgaruvchiga o’zlashtiriladi.
Ikkinchi satrda read() metodi yordamida f o’zgaruvchidagi matn o’qiladi va t o’zgaruvchiga o’zlashtiriladi, uchinchi satrda t o’zgaruvchining qiymatlari oynaga chiqariladi.
Dastur kodidan bizning matn faylimiz e disk yurituvchining PYTHON DASTURLAR papkasida joylashgan ekanligi ko’rinib turibdi.
Dastur kodini kiritib bo’lgach, dastur saqlash jarayonida biz dastur kodini biror nom bilan masalan, file1 deb nomlab, shu papkaga joylasak, dasturning birinchi satrini f = open ('matn.txt') ko’rinishda yozishimiz mumkin bo’lar edi. Bu holda ham xatolik bo’lmaydi.
Diqqat bilan e’tibor berilgan bo’lsangiz, berilgan matn fayli bilan oynaga chiqarilgan matn orasida farq bor. Bu farq oynaga chiqarilgan matn oxirida bo’sh satr hosil bo’ladi. Bu matn faylini o’qish bilan bog’liq bo’lib, read() funksiyasi fayl oxiriga borsa bo’sh satrni beradi. Agar matn oxiridagi bo’sh satrni o’chirish zarur bo’lsa, print funksiyasida rstrip() ko’rsatilishi kerak bo’ladi: print(t.rstrip()).
Shunday qilib, rstrip() satr oxiridagi barcha bo’sh satrlarni o’chirish uchun xizmat qiladi.
Fayl ishga tushirilganda matn.txt matn faylidagi matnini o’qish mumkin bo’ladi. Agar dastur kodining ikkinchi satridagi raed argumentiga 3 qiymatini bersak, matn faylidagi birinchi 3 ta belgini o’qiydi va oynaga chiqaradi. Ya’ni dasturning ikkinchi satrini t = f.read(3) ko’rinishga o’zgartirsan, “Ey ” yozuviga ega bo’lamiz. Agar dasturning ikkinchi satridan keyin yana bir marta t = f.read(3) satri qo’shilsa, u holda “do‘” satriga ega bo’lamiz. Bu holda birinchi bor “Ey ” so’zi o’qiladi, lekin oynaga chiqarilmaydi. Dasturning keyingi satri navbatdagi uchta belgini o’qiydi va oynaga “do‘” ko’rinishdagi matn qismini chiqaradi.
Ayrim hollarda matn faylidagi satrlari bilan alohida ishlashga to’g’ri keladi. Bunday holda parametrli tsikl operatoridan foydalangan holda, readlines()8 metodidan foydalaniladi:
f = open ('e:\PYTHON DASTURLAR\matn.txt')
t = f.readlines()
for satr in t:
print(satr)
Натижа:
Ey do‘stlarim, dunyoda
Ortda qolgan iz yaxshi,
Bulbuli yo‘q bahordan
Qumri to‘la kuz yaxshi.
Natijadan ko’rinib turibdiki, bunda har bir satrdan keyin ham bo’sh satr qo’yilgan. Chunki, matn fayllarida har bir satr ham o’zining yashirin satr oxirini bildiruvchi belgisidan iborat bo’ladi. print operatori ham har safar bu operatorga murojaat bo’lganda o’zining yangi satrga o’tishni qo’shadi. Natijada har bir satr oxiriga etganda ikkita yangi satrga o’tish belgisiga ega bo’ladi. Birinchisi faylda o’qiladi, ikkinchisini print operatori qo’shadi. Oynada har bir satrdan so’ng bitta bo’sh satr print operatori orqali chiqariladi.
Bo’sh satrlarni o’chirish, yuqoridagi kabi rstrip() orqali amalga oshiriladi.
f = open ('e:\PYTHON DASTURLAR\matn.txt')
t = f.readlines()
for satr in t:
print(satr.rstrip())
Natija:
Ey do‘stlarim, dunyoda
Ortda qolgan iz yaxshi,
Bulbuli yo‘q bahordan
Qumri to‘la kuz yaxshi.
Agar biz dasturning birinchi satrini f q open('e:/PYTHON DASTURLAR/matn1.txt') kabi mavjud bo’lmagan faylga murojaat qilsak, FileNotFoundError: [Errno 2] No such file or directory: 'matn1.txt' kabi, ya’ni bunday fayl mavjud emasligi haqidagi xabarni olamiz.
Open funksiyasi standart holda matn fayllarini o’qish uchun ochadi. Ushbu holat modeqr parametri yordamida ham amalga oshiriladi, bunda “r” – read (o’qish) mazmunini bildiradi. Matn fayllarini ochishda “r” qiymati yozilmasligi mumkin.
Do'stlaringiz bilan baham: |