Mavzu: fayllar bilan ishlash dars shakli: amaliy



Yüklə 45,01 Kb.
səhifə5/6
tarix09.10.2023
ölçüsü45,01 Kb.
#126459
1   2   3   4   5   6
Fayllar python (2)

FAYLGA MA'LUMOT QO'SHISH
Agar mavjud faylga ma'lumot qo'shish talab qilinsa, open() funksiyasiga murojat qilishda 'a' (append) argumentidan foydalanamiz. Bunda yangi qo'shilgan ma'lumotlar faylning oxiriga qo'shiladi.
with open(faylnomi,'a') as fayl:
fayl.write('Alijon Valiyev\n')
fayl.write('2000')

Faylga yangi ma'lumotlar qo'shildi
Agar biz ochayotgan fayl mavjud bo'lmasa, Python yangi fayl yaratadi.
O'ZGARUVCHILARNI FAYLDA SAQLASH
Yuqorida biz ma'lumotlarni matn ko'rinishida saqlashni ko'rdik. Agar dastur davomida turli o'zgaruvchilarni faylda saqlash talab qilinsa pickle modulidan foydalanamiz. Pickle ma'lumotlarni biz qanday ko'rinishda bersak, shunday ko'rinishda faylga yozadi. Yuqoridagi usuldan farqli ravishda, pickle yordamida yozilgan fayllarning tarkibini Pythondan tashqarida ko'rib bo'lmaydi.
PICKLE FAYLGA YOZISH
Pickle dan foydalanish uchun biz avval bu modilni import qilamiz. Faylno ochishda esa, open() funksiyasiga ikkinchi argument sifatida 'wb' (write binary) beramiz, ya'ni ikkilik sanoq tizimida yozishni ko'rsatamiz. Faylga yozish uchun esa pickle.dump() metodidan foydalanamiz:
import pickle
talaba1 = {'ism':'hasan', 'familiya':'husanov', 'tyil':2003, 'kurs': 2}
talaba2 = {'ism':'alijon', 'familiya':'valiyev', 'tyil':2004, 'kurs': 1}
with open('info','wb') as file:
pickle.dump(talaba1,file)
pickle.dump(talaba2,file)
E'tibor bering, yuqorida fayl nomini yozishda uning turini ko'rsatmadik, sababi, avval aytganimizdek bu fayllar Pythondan tashqarida ochilmaydi va biz buning oldini olishimiz kerak. Aslida fayl nomiga .txt qo'shimchasini ham qo'shishimiz mumkin, bu bilan dastur xato ishlamaydi, lekin bu bizni kelajakda chalg'itishi mumkin. Istasangiz faylga .dat (data so'zidan olingan) qo'shimchasini qo'shib qo'yishingiz mumkin (info.dat).
PICKLE FAYLDAN O'QISH
Pickle fayldan o'qish uchun open() funksiyasini 'rb' (read binary) argumenti bilan chaqiramiz. O'zgaruvchilarni bitta faylga yozganimizda, har bir o'zgaruvchi alohida qatordan yoziladi. Fayldan o'qishda ham har bir qatorni alohida o'qishimiz kerak bo'ladi:
with open('info','rb') as file:
talaba1 = pickle.load(file)
talaba2 = pickle.load(file)
O'zgaruvchilar tarkibini ko'ramiz:
print(talaba1)
Natija: {'ism': 'hasan', 'familiya': 'husanov', 'tyil': 2003, 'kurs': 2}
print(talaba2)
Natija:{'ism': 'alijon', 'familiya': 'valiyev', 'tyil': 2004, 'kurs': 1}
Adashib ketmaslik uchun, alohida o'zgaruvchilarni alohida fayllarga saqlash tavsiya qilinadi.


Yüklə 45,01 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə