Python dasturlash tili: 10-dars.

Python dasturlash tili: 10-dars.

Python dasturlash tili: 10-dars.

10. Fayllar

Fayllar bilan ishlash
file klassi obyektini hosil qilish hamda uning read, radline va write metodlari yordamida amalga oshiriladi. Faylni o’qish yoki faylga yozish faylni ochish vaqtida ko’rsatilgan rejimga bog’liq. Fayl bilan ishlab bo’lgandan keyin close metodini chaqirish kerak bo’ladi.

Misol: (using_file.py nomi bilan saqlang.)

    poem = '''
Dasturlash qiziqarli.
Agar ish zerikarli bo'lsa,
Unga quvnoq tus berish uchun - Pythonni ishlating!
'''
f = open('poem.txt', 'w') # faylni yozish uchun ochamiz (writing)
f.write(poem) # matnni faylga yozamiz
f.close() # faylni yopamiz
f = open('poem.txt') # agar rejim ko'rsatilmagan bo'lsa, u xolda o'qish rejimi tushunilib ketiladi ('r'eading)
while True:
line = f.readline()
if len(line) == 0: # Nol uzunlik faylning oxirini bildiradi (EOF)
break
print(line, end='')
f.close() # faylni yopamiz

Natija:

$ python using_file.py

Dasturlash qiziqarli.

Agar ish zerikarli bo’lsa,

Unga quvnoq tus berish uchun – Pythonni ishlating!

Bu qanday ishlaydi:

Birinchi galda biz faylni rejim ko’rsatgan holda
open funksiyasi bilan ochamiz. Rejim o’qish uchun («r»), yozish uchun («w») yoki fayl oxiriga yozuvni qo’shish uchun («a») bo’lishi mumkin. Faylni yana qanday holda o’qish, yozish yoki matn qo’shish holatini ham ko’rsatish mumkin: («t») tekst ko’rinishida yoki («b») binar ko’rinishida.

Bizning holatda faylni yozish («w») rejimida ochyapmiz va
write metodi yordamida matnni faylga yozyapmiz. Shundan so’ng faylni close metodi yordamida yopyapmiz.

So’ng huddi shu faylni o’qish rejimida ochamiz. Bu holda rejimni ko’rsatishga hojat yo’q. Sababi agar rejim ko’rsatilmasa, fayl o’qish rejimida ochiladi. Faylni qatorma-qator
readline metodi yordamida, sikl ichida o’qib olamiz. Qachonki bu metod bo’sh qator qaytarsa, u holda bu biz faylning oxiriga yetib borganimizni anglatadi va break yordamida siklni to’xtatamiz.

Shundan so’ng
print funksiyasi yordamida o’qib olinayotgan satrlarni ekranga chop qilamiz. Oxirida close metodi yordamida faylni yopamiz.

Haqiqatda dastur matnni faylga yozganligini tekshirish uchun
poem.txt faylini tekshirib ko’ring.

Pickle

Pythonning
pickle moduli yordamida har qanday obyektni faylga saqlash va keyinchalik fayldan o’qib olish mumkin. Bunday imkoniyat ob’yektlarni uzoq muddat saqlashda qo’l keladi.

Misol: (pickling.py nomi bilan saqlang)

import pickle
# obyektni saqlash fayli
shoplistfile = 'shoplist.data'
# haridlar ro'yxati
shoplist = ['olma', 'mango', 'sabzi']
# faylga yozish
f = open(shoplistfile, 'wb')
pickle.dump(shoplist, f) # obyektni faylga yozamiz
f.close()
del shoplist # shoplist o'zgaruvchisini o'chirib tashlaymiz
# fayldan o'qish
f = open(shoplistfile, 'rb')
storedlist = pickle.load(f) # ob'yektni fayldan yuklab olish
print(storedlist)

Natija:

$ python pickling.py

[‘olma’, ‘mango’, ‘sabzi’]

Bu qanday ishlaydi:

Obyektni faylga yozish uchun birinchi galda faylni binar yozish
(«wb») rejimida ochib olishimiz kerak, so’ng pickle modulining dump funksiyasini chaqiramiz. Bu jarayon «konservatsiya» («pickling») deyiladi.

Shundan so’ng obyektni fayldan o’qib olish uchun pickle modulining
load funksiyasidan foydalanamiz.

Manba:

Umumiy Dasturlash
Python dasturlash tili: 10-dars.