16-mavzu. Pythonda fayllar bilan ishlash. Reja


import pickle FILENAME = "user.dat"



Yüklə 38,22 Kb.
səhifə7/8
tarix02.10.2023
ölçüsü38,22 Kb.
#151565
1   2   3   4   5   6   7   8
16-mavzu. Pythonda fayllar bilan ishlash. Reja-fayllar.org

import pickle
FILENAME = "user.dat" ism = "ali" yosh = 25 with open(FILENAME, "wb") as file:
pickle.dump(ism, file) pickle.dump(yosh, file)

with open(FILENAME, "rb") as file:
ism = pickle.load(file) yosh = pickle.load(file)
print("Ism: ", ism, "\tYosh: ", yosh)


dump() funksiyasi bilan ikki obyekt ketma-ket yoziladi. Shu sababli, fayldan ketma-ketlikda load() funksiyasi yordamida o„qiganimizda mos ravishda yozilgan obyektlarni olamiz. Dastur ishlaganda konsol ekraniga quyidagilar chiqariladi:

1

Ism: Ali Yosh: 25

Shu tarzda, faylga obyektlar to‟plamini saqlashimiz va undan o‟qib olishimiz mumkin:


1
2


3

4 5
6


7

8
9


10

11
12

13
14

15
16

17 18



import pickle
FILENAME = "users.dat"
users = [
["Ali", 25, True],
["Sobir", 32, False],
["Dilnoza", 14, False]
] with open(FILENAME, "wb") as file:
pickle.dump(users, file)


with open(FILENAME, "rb") as file:
users_from_file = pickle.load(file) for user in users_from_file:
print("Ism: ", user[0], "\tYosh: ", user[1],

"\tUylangan(turmushga chiqan): ", user[2])

Faylga dump() funktsiyasidan foydalanib qanday obyekt yozilsa, fayldan load() funksiyasi orqali xuddi shu obyekt o‟qiladi.


Natijaning konsolga chiqarilishi:


1
2


3


Ism: Ali Yosh: 25 Uylangan(turmushga chiqan): True


Ism: Sobir Yosh: 32 Uylangan(turmushga chiqan): False
Ism: Dilnoza Yosh: 14 Uylangan(turmushga chiqan): False


3.5. shelve moduli

Binar fayllar bilan ishlash uchun Pythonda yana bitta modul - shelve modulidan foydalanish mumkin. Obyektlarni maxsus kalitga ega faylga saqlaydi.


Keyinchalik, bu kalit yordamida avvaldan saqlangan obyektni fayldan oqib olinadi. shelve modul orqali ma'lumotlarni ishlash jarayoni lug'atlarga o'xshash, shuning uchun obyektlarni saqlash va o‟qib olish uchun kalitlardan foydalaniladi.
Faylni ochish uchun shelve moduli open() funktsiyasidan foydalanadi:

1

open(fayl_manzili[, flag="c"[, protocol=None[, writeback=False]]])



flag parametri quyidagi qiymatlarni qabul qilishi mumkin:


  • c - faylni o'qish va yozish uchun ochadi (flag=c, flag parametrining kelishuv bo‟yicha qiymati aynan c ga teng). Agar fayl mavjud bo'lmasa, u yaratiladi;


  • r - fayl faqat o'qish uchun ochiladi;


  • w - fayl faqat yozish uchun ochiladi;


  • n - fayl yozish uchun ochilgan. Agar fayl mavjud bo'lmasa, fayl yaratiladi.

Agar mavjud bo'lsa, u holda fayl qayta yozish uchun ochiladi.


Faylga ulanishni yopish uchun close() metodidan foydalaniladi:


1
2 3




import shelve
d = shelve.open(faylnomi)
d.close()

Yoki faylni with operatoridan foydalanib ochishingiz mumkin. Quyidagi dasturda faylga bir nechta obyektni saqlash va keyin undan o‟qib olish ko‟rsatilgan:


1
2


3

4
5


6

7
8


9

10
11

12




Yüklə 38,22 Kb.

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




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin