CodeBlanks Logo Icon CodeBlanks

Özet - Dosya işlemleri

with, read ve write'ı birleştirerek bir not defteri yazarsın.

Özet - Dosya işlemleri

Bu grupta dosya açma, okuma, yazma, with deyimi ve modları öğrendin. open dosya nesnesi döndürür; encoding="utf-8" Türkçe metni güvende tutar. read tüm içeriği, readline tek satırı, readlines satır listesini verir.

Yazma için write tek dizeyi, writelines dize listesini yazar. with bloğu çıkışında dosya otomatik kapanır; bu yüzden her zaman tercih edilir. Modlar: r, w, a, x; ikili için b eki.

Mini görev: günlük tut

Özet olarak küçük bir günlük uygulaması yazarsın. w modu ile dosyayı açıp ilk satırı yazarsın; a modu ile ikinci satırı eklersin; r modu ile tüm içeriği tek dize olarak okur ve yazdırırsın.

Üç ayrı with bloğu kullanırsın. Çıktı iki satırdan oluşur; \n işaretleri dosyada kalır. Bu görev, modların birlikte nasıl çalıştığını gösterir.

Uygulama Üç modlu günlük

Üç with bloğu yaz. Birincide with open("gunluk.txt", "w", encoding="utf-8") as f: f.write("Pazartesi\n"). İkincide with open("gunluk.txt", "a", encoding="utf-8") as f: f.write("Salı\n"). Üçüncide with open("gunluk.txt", "r", encoding="utf-8") as f: print(f.read(), end=""). Çıktı iki satır olacak; print'e end="" vererek fazladan satır eklenmesini önle.

Başlangıç kodu

main.py
# w modu: Pazartesi yaz
# a modu: Salı ekle
# r modu: tüm içeriği yazdır (end="")

Örnek çözüm

main.py
# w modu: Pazartesi yaz
with open("gunluk.txt", "w", encoding="utf-8") as f:
    f.write("Pazartesi\n")
# a modu: Salı ekle
with open("gunluk.txt", "a", encoding="utf-8") as f:
    f.write("Salı\n")
# r modu: tüm içeriği yazdır (end="")
with open("gunluk.txt", "r", encoding="utf-8") as f:
    print(f.read(), end="")

Beklenen çıktı

Pazartesi
Salı

Soru ve cevaplar

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

1 Dosya işlemlerinde en iyi uygulama hangisi?

  • close çağrısı yapmamak
  • İkili modu her zaman tercih etmek
  • with deyimini kullanmak Doğru cevap
  • encoding parametresini atlamak

Açıklama: with deyimi otomatik kapatma sağlar; bu yüzden en iyi uygulama budur.

2 with deyimini tamamla

Soru
____ open("f.txt", "w", encoding="utf-8") as f:
    f.write("Merhaba")
Cevap
with open("f.txt", "w", encoding="utf-8") as f:
    f.write("Merhaba")

Açıklama: with deyimi dosyayı otomatik kapatır.

3 Dosya işlemlerini eşleştir

Kavram Anlamı
open Dosya açar
with Otomatik kapatır
read İçerik okur
write İçeriğe yazar

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