• Faylga malumot qo‘shish
  • O‘zgaruvchilarni faylda saqlash
  • Pickle faylga yozish
  • O‘zbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi navoiy davlat pedagogika instituti




    Download 14,73 Mb.
    bet163/178
    Sana13.05.2024
    Hajmi14,73 Mb.
    #230019
    1   ...   159   160   161   162   163   164   165   166   ...   178
    Bog'liq
    Darslik 01.05.2023

    Natija: TypeError: write() argument must be str, not int
    Xatoning oldini olish uchun sonlarni avval str() funksiyasi yordamida matnga keltirib olamiz.
    faylnomi = 'new_file.txt'
    ism = 'Olimjon Hasanov'
    tyil = 2004
    with open(faylnomi,'w') as fayl:
    fayl.write(ism)
    fayl.write(str(tyil))
    Fayllar matn formatida yoziladi, va biz ularni istalgan matn muharriri yordamida ochib ko‘rishimiz mumkin.

    4.6.1-rasm
    Faylda saqlangan ma'lumotlar Afsuski, faylga bir nechta ma'lumot yozganimizda, ma'lumotlar alohida qatordan emas, bir qatorda bir-biriga qo‘shib qo‘shib yoziladi. Buning oldini olishimiz uchun matn so‘ngida \n belgisini qo‘shib ketishimiz kerak bo‘ladi:
    faylnomi = 'new_file.txt'
    ism = 'Olimjon Hasanov'
    tyil = 2004
    with open(faylnomi,'w') as fayl:
    fayl.write(ism+'\n')
    fayl.write(str(tyil)+'\n')

    4.6..2-rasm
    Fayldagi ma'lumotlar yangi qatordan saqlandi
    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')

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

    Download 14,73 Mb.
    1   ...   159   160   161   162   163   164   165   166   ...   178




    Download 14,73 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O‘zbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi navoiy davlat pedagogika instituti

    Download 14,73 Mb.