Python logo

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.)

  1. poem = '''\
  2.  
  3. Dasturlash qiziqarli.
  4.  
  5. Agar ish zerikarli bo'lsa,
  6.  
  7. Unga quvnoq tus berish uchun - Pythonni ishlating!
  8.  
  9. '''
  10.  
  11. f = open('poem.txt', 'w') # faylni yozish uchun ochamiz (writing)
  12.  
  13. f.write(poem) # matnni faylga yozamiz
  14.  
  15. f.close() # faylni yopamiz
  16.  
  17. f = open('poem.txt') # agar rejim ko'rsatilmagan bo'lsa, u xolda o'qish rejimi tushunilib ketiladi ('r'eading)
  18.  
  19. while True:
  20.  
  21. line = f.readline()
  22.  
  23. if len(line) == 0: # Nol uzunlik faylning oxirini bildiradi (EOF)
  24.  
  25. break
  26.  
  27. print(line, end='')
  28.  
  29. 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)

  1. import pickle
  2.  
  3. # obyektni saqlash fayli
  4.  
  5. shoplistfile = 'shoplist.data'
  6.  
  7. # haridlar ro'yxati
  8.  
  9. shoplist = ['olma', 'mango', 'sabzi']
  10.  
  11. # faylga yozish
  12.  
  13. f = open(shoplistfile, 'wb')
  14.  
  15. pickle.dump(shoplist, f) # obyektni faylga yozamiz
  16.  
  17. f.close()
  18.  
  19. del shoplist # shoplist o'zgaruvchisini o'chirib tashlaymiz
  20.  
  21. # fayldan o'qish
  22.  
  23. f = open(shoplistfile, 'rb')
  24.  
  25. storedlist = pickle.load(f) # ob'yektni fayldan yuklab olish
  26.  
  27. 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.

(243 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar: