CodeBlanks Logo Icon CodeBlanks

Dosya modları

'r', 'w', 'a', 'b' modlarını öğrenirsin.

Tüm dosya modları

Temel modlar: r okuma, w yazma (içeriği siler), a sona ekleme, x özel oluşturma (dosya varsa hata). Bu modlara + ekleyerek okuma-yazma karışık mod elde edersin: r+, w+, a+.

İkili veri için b harfi eklenir: rb, wb, ab. İkili modda veri bytes türünde okunur ve yazılır; encoding parametresi kullanılmaz. Resim, ses veya sıkıştırılmış dosyalar ikili modda işlenir.

Uygulama a modu ile sona ekle

İlk olarak with open("günlük.txt", "w", encoding="utf-8") as f: f.write("İlk satır\n") ile dosyayı oluştur. Sonra with open("günlük.txt", "a", encoding="utf-8") as f: f.write("İkinci satır\n") ile sona ekle. Son olarak with open("günlük.txt", "r", encoding="utf-8") as f: print(len(f.readlines())) ile satır sayısını yazdır.

Başlangıç kodu

main.py
# w modu ile dosyaya ilk satırı yaz
# a modu ile dosyaya ikinci satırı ekle
# r modu ile satır sayısını yazdır

Örnek çözüm

main.py
# w modu ile dosyaya ilk satırı yaz
with open("günlük.txt", "w", encoding="utf-8") as f:
    f.write("İlk satır\n")
# a modu ile dosyaya ikinci satırı ekle
with open("günlük.txt", "a", encoding="utf-8") as f:
    f.write("İkinci satır\n")
# r modu ile satır sayısını yazdır
with open("günlük.txt", "r", encoding="utf-8") as f:
    print(len(f.readlines()))

Beklenen çıktı

2

İkili mod ne zaman kullanılır?

İkili mod b eki ile etkinleşir: rb, wb, ab. Bu mod resim, ses, video veya sıkıştırılmış gibi metin olmayan dosyalar içindir. Veri bytes türünde okunur ve yazılır.

İkili modda encoding parametresi kullanılmaz; çünkü kodlama kavramı yalnızca metin için geçerlidir. Metin dosyasını yanlışlıkla ikili modda açarsan bytes döner ve \n yerine b"\n" gibi önekler görürsün.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi mod dosyayı silmeden sona ekler?

  • w
  • a Doğru cevap
  • r
  • x

Açıklama: a modu (append) dosyayı silmeden sonuna ekler.

2 İkili okuma modunu tamamla

Soru
f = open("resim.png", "____")
data = f.read()
f.close()
Cevap
f = open("resim.png", "rb")
data = f.read()
f.close()

Açıklama: İkili okuma için r ve b harfleri birleşir.

3 Mod eklerini eşleştir

Kavram Anlamı
b İkili veri eki
+ Okuma-yazma eki
x Özel oluşturma
a Sona ekleme

Orta seviye bölümündeki tüm dersler