Faylga yozish va yangi fayl yaratish — o’qishga teskari, ammo bir xil darajada muhim yo’nalish. O’qishni o’rgandik; endi dastur hosil qilgan ma’lumotni diskka saqlaymiz. Hisobot yaratish, log yozish, foydalanuvchi ma’lumotini faylga eksport qilish — bularning bari yozish amaliga tayanadi.
Faylga yozish — dastur xotirasidagi ma’lumotni diskdagi faylga saqlash jarayoni. Python buni
write()vawritelines()metodlari orqali,"w"(yozish),"a"(qo’shish) va"x"(yaratish) rejimlarida bajaradi.
“w” rejimi — yozish
"w" rejimi faylga yozadi. Muhim ogohlantirish: agar fayl allaqachon mavjud bo’lsa, uning butun eski tarkibi o’chib ketadi:
with open("hisobot.txt", "w") as fayl:
fayl.write("UzbekDevs hisoboti\n")
fayl.write("Sana: 2026-07-01\n")
print("Fayl yozildi")
Fayl yozildi
\n — yangi qator belgisi. Uni qo’ymasangiz, matnlar bir qatorga yopishib qoladi. "w" rejimidan ehtiyot bo’lib foydalaning — u eski ma’lumotni ayamaydi.
“a” rejimi — oxiriga qo’shish
Agar mavjud faylni o’chirmasdan, unga yangi ma’lumot qo’shmoqchi bo’lsangiz, "a" (append) rejimini ishlating:
with open("hisobot.txt", "a") as fayl:
fayl.write("Yangi yozuv qo'shildi\n")
print("Ma'lumot qo'shildi")
Ma'lumot qo'shildi
"a" yozuvni doim fayl oxiriga qo’shadi, eskisiga tegmaydi. Aynan shuning uchun log fayllari doim "a" rejimida yoziladi — har bir yangi hodisa oldingilari ustiga qo’shilib boradi.
Rejimlar farqi
"w" va "a" ni chalkashtirmaslik uchun farqni jadvalda aniq ko’ramiz:
| Rejim | Fayl bo’lmasa | Fayl bo’lsa |
|---|---|---|
"w" |
yaratadi | eskisini o’chirib yozadi |
"a" |
yaratadi | oxiriga qo’shadi |
"x" |
yaratadi | xato beradi |
Ko’p qatorni bir yo’la yozish — writelines()
Ro’yxatdagi bir necha qatorni bitta metod bilan yozish mumkin:
qatorlar = ["Farrux\n", "Master Sherkulov\n", "UzbekDevs\n"]
with open("ismlar.txt", "w") as fayl:
fayl.writelines(qatorlar)
print("Barcha qatorlar yozildi")
Barcha qatorlar yozildi
writelines avtomatik \n qo’shmaydi — shuning uchun har elementga o’zimiz yangi qator belgisini kiritdik. Bu nozik nuqtani yodda tuting.
“x” rejimi — xavfsiz yaratish
"x" rejimi faqat fayl hali mavjud bo’lmaganda yaratadi. Agar fayl bor bo’lsa, xato beradi — bu tasodifan eski faylni o’chirib yuborishdan himoya qiladi:
try:
with open("yangi.txt", "x") as fayl:
fayl.write("Bu yangi fayl")
print("Fayl yaratildi")
except FileExistsError:
print("Bunday fayl allaqachon mavjud")
Fayl yaratildi
Bu naqsh muhim ma’lumotni tasodifan qayta yozib yuborish xavfi bo’lgan joylarda ishlatiladi.
Xulosa
Bu darsda faylga yozishning "w", "a", "x" rejimlarini, write() va writelines() metodlarini, \n ning ahamiyatini va xavfsiz yaratishni o’rgandik. "w" eskisini o’chiradi, "a" qo’shadi, "x" esa himoyalab yaratadi. Keyingi darsda fayl o’chirish — fayllar mavzusining yakuniy qismiga o’tamiz.