S. D. Rizayeva Chirchiq 2022



Yüklə 51,62 Kb.
səhifə4/4
tarix07.04.2023
ölçüsü51,62 Kb.
#94258
1   2   3   4
Ergashaliyev Numonjon python

except Exception as e:

6

print(e)

7

finally:

8

somefile.close()

9

except Exception as ex:

10

print(ex)

Bu erda, fayl bilan bajariladigan barcha amallar ketma-ketligi try blokida yoziladi. Agar biror bir istisno to'satdan kelib chiqsa, u holda finally blokida fayl blokirovka qilinadi. Fayllar bilan ishlashning yanada qulayroq with konstruktsiyasi mavjud:

1

with open(file, mode) as file_obj:

2

#buyruqlar

Bu konstruktsiya ochiq fayl uchun file_obj o’zgaruvchi aniqlanadi va buyruqlar ketma-ketligi bajariladi. Ular bajarilgandan so'ng, fayl avtomatik ravishda yopiladi. Blokda amallar ketma-ketligini bajarishda istisnolar yuzaga kelsa ham, fayl avtomatik ravishda yopiladi. with konstruktsiyasi yordamida, yuqoridagi misolni quyidagicha qayta yozish mumkin:



1

with open("salom.txt", "w") as somefile:

2

somefile.write("Salom Python")


2.2.Binar fayllar
Binar fayllarda, matnli fayllardan farqli o'laroq, ma'lumotlar baytlar majmui sifatida saqlanadi. Pythonda ular bilan ishlash uchun pickle – ichki modul kerak bo‟ladi. Ushbu modul ikkita metodni taqdim etadi:
dump(obj, file) - obyektni ikkilik faylga yozadi;
load(file) - binar fayldan obyektga ma'lumotlarni o'qiydi. O'qish yoki yozish uchun binar faylni ochishda yozishni ("w") yoki o'qish ("r") rejimidan tashqari "b" rejimidan foydalanish kerakligini ham hisobga olish kerak. Masalan, ikkita obyektni saqlash kerak Bo’lsin:

1

import pickle

2




3

FILENAME = "user.dat"

4

ism = "ali"

5

yosh = 25

6




7

with open(FILENAME, "wb") as file:

8

pickle.dump(ism, file)

9

pickle.dump(yosh, file)

10




11

with open(FILENAME, "rb") as file:

12

ism = pickle.load(file)

13

yosh = pickle.load(file)

14

print("Ism: ", ism, "\tYosh: ", yosh)

15




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 mumkun:



1

import pickle

2




3

FILENAME = "users.dat"

4




5

users = [

6

["Ali", 25, True],

7

["Sobir", 32, False],

8

["Dilnoza", 14, False]

9

]

10




11

with open(FILENAME, "wb") as file:

12

pickle.dump(users, file)

13




14

with open(FILENAME, "rb") as file:

15

users_from_file = pickle.load(file)

16

for user in users_from_file:

17

print("Ism: ", user[0], "\tYosh: ", user[1],

18

"\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

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

2

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

3

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

XULOSA
Yüklə 51,62 Kb.

Dostları ilə paylaş:
1   2   3   4




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin