⬅️ Bosh sahifaga
1 / 12

📚 Python Fayl Operatsiyalari

Binary fayllar va fayl rejimlari (r, w, a)

🎯 Maqsad: Python'da fayllar bilan professional darajada ishlashni o'rganish

👨‍💻 Python Ustozi bilan

📋 Dars Rejasi

  • Fayl rejimlari (r, w, a) - 20 daqiqa
  • Binary fayllar bilan ishlash - 25 daqiqa
  • Amaliy misollar - 20 daqiqa
  • Mashqlar - 25 daqiqa
  • Xulosa va uy vazifasi - 20 daqiqa
  • Savol-javob - 10 daqiqa

Jami: 120 daqiqa (2 soat) 🕐

📄 Fayl Turlari

Matnli Fayllar Binary Fayllar
📝 .txt, .csv, .py 🖼️ .jpg, .mp3, .exe
O'qib bo'ladigan matn Ikkilik (binary) format
Kichik hajmli Katta hajmli
Tezkor o'qish Samarali xotira

🔧 Fayl Rejimlari

"r" - O'qish (Read)

• Fayldan ma'lumot o'qish uchun

• Standart rejim

• Fayl mavjud bo'lishi shart

"w" - Yozish (Write)

• Faylga yozish uchun

• Eski ma'lumotlarni o'chiradi

• Fayl yo'q bo'lsa yaratadi

"a" - Qo'shish (Append)

• Fayl oxiriga qo'shish

• Eski ma'lumotlar saqlanadi

• Fayl yo'q bo'lsa yaratadi

📝 Oddiy Fayl Misoli

# Yozish with open("matn.txt", "w") as fayl: fayl.write("Salom, dunyo!") # O'qish with open("matn.txt", "r") as fayl: matn = fayl.read() print(matn) # Salom, dunyo! # Qo'shish with open("matn.txt", "a") as fayl: fayl.write("\nYana bir qator!")

with operatori fayl avtomatik yopilishini ta'minlaydi! ✅

🔢 Binary Rejimlar

  • "rb" - Binary o'qish
  • "wb" - Binary yozish
  • "ab" - Binary qo'shish
  • # Binary yozish with open("binary.bin", "wb") as fayl: fayl.write(b"Bu binary ma'lumot") # Binary o'qish with open("binary.bin", "rb") as fayl: ma'lumot = fayl.read() print(ma'lumot) # b'Bu binary ma\'lumot'

    ⚠️ Binary ma'lumotlarda b prefiksi ishlatish shart!

    🔄 Binary ↔ Matn

    # Binary'dan matnga o'tkazish with open("binary.bin", "rb") as fayl: binary_ma'lumot = fayl.read() matn = binary_ma'lumot.decode("utf-8") print(matn) # Bu binary ma'lumot # Matndan binary'ga o'tkazish matn = "Salom!" binary_ma'lumot = matn.encode("utf-8") print(binary_ma'lumot) # b'Salom!'

    decode(): bytes → str

    encode(): str → bytes

    🔢 Sonlar bilan Ishlash (struct)

    import struct # Sonni binary formatda saqlash with open("son.bin", "wb") as fayl: son = 42 fayl.write(struct.pack("i", son)) # Sonni binary formatdan o'qish with open("son.bin", "rb") as fayl: ma'lumot = fayl.read() son = struct.unpack("i", ma'lumot)[0] print(son) # 42

    "i" - integer (4 bayt)

    "f" - float, "d" - double

    💡 To'liq Amaliy Misol

    # Matnli fayl bilan ishlash with open("test.txt", "w") as fayl: fayl.write("Birinchi qator\n") with open("test.txt", "a") as fayl: fayl.write("Ikkinchi qator\n") with open("test.txt", "r") as fayl: print(fayl.read()) # Binary fayl bilan ishlash with open("data.bin", "wb") as fayl: fayl.write(b"Binary ma'lumot") with open("data.bin", "rb") as fayl: print(fayl.read().decode("utf-8"))

    🏋️ Amaliy Mashqlar

    Mashq 1: Fayl rejimlari

    • "salom.txt" faylini yarating

    • "w" rejimida "Salom!" yozing

    • "a" rejimida "Qalaysan?" qo'shing

    • "r" rejimida o'qib chiqaring

    Mashq 2: Binary fayllar

    • "data.bin" faylini yarating

    • b"Binary test" yozing

    • O'qib, decode qiling

    Mashq 3: Sonlar

    • struct bilan 50, 75 sonlarini saqlang

    • O'qib, ekranga chiqaring

    🏠 Uy Vazifasi

  • xabar.txt - "Xayrli kun!" va "\nYaxshimisiz?" yozing
  • test_binary.bin - b"Salom, binary dunyo!" saqlang
  • sonlar.bin - 25 va 150 sonlarini struct bilan saqlang
  • Muddat: Keyingi darsga qadar

    📧 Topshirish: Barcha kodlar va natijalarni yuboring

    🎯 Xulosa

    Bugun o'rgandik:

    • Fayl rejimlari: r, w, a
    • Binary rejimlar: rb, wb, ab
    • encode() va decode()
    • struct moduli bilan sonlar
    • Amaliy misollar va mashqlar

    Keyingi dars: Modules va Packages 📦

    Savollaringiz bormi? 🤔

    Rahmat! 👏